[jbosstools-dev] Detecting a jboss 7.1 server startup

Max Rydahl Andersen max.andersen at redhat.com
Fri Aug 31 05:35:14 EDT 2012


>> Is RCPAPP something different than just eclipse with teiid designer loaded ?
>> 
> 
> No. I wrote it like that just to define the difference between the IDE
> and the application that is loaded to test my developement.

okey, normally we call that a PDE launched IDE or similar - RCP is often something very different ;)

>> Afaik the jboss client are not automatically threadsafe - not sure what API's
>> Rob S. got in place for talking to the server.
> 
> Looking at it again this morning, this may be the case. I think that I
> am blocking the UI thread when the jboss worker threads need to display
> the dialog for accessing the eclipse secure storage. Think I need to
> move my content provider updates off the UI thread then update the tree
> when the call is complete.

well the threadstack you showed seemed to be inside the client - but yeah, that Future referenced in there
could for sure be blocking on ui thread.

And yes, for sure do not do these operations in the main ui thread - that will cause all kind of havoc.

>> btw. what version of JBoss Tools are you using for this ?
> 
> Mostly, they are 7.7.1

That's Teiid Designer version, not JBoss Tools version.

> but some of the ide.eclipse plugins I have
> brought into my workspace from svn trunk.

Okey, so this is JBoss Tools 4 - targeting Juno, JBDS 6.

> Thanks for getting back to me.

no problem - nice to see work is going on here - I thought it died out since noone followed up on
the last thread on the Teiid integration. I've revived that thread in case it was missed ;)

/max

> 
> Cheers
> 
> PGR
> 
> 
>> 
>> /max
>> 
>> 
>>> Hi,
>>> 
>>> For Teiid Designer, I am trying to add our own extension nodes to the
>>> tree in the Servers View, where the nodes display the details of the
>>> Teiid Server deployed on jboss. This is working really well bar a couple
>>> of threading problems.
>>> 
>>> My Eclipse IDE has a jboss 7.1 instance started so I run an RCP
>>> application, which is a clone of the eclipse workbench, to display my
>>> developed plugins (call this RCPAPP).
>>> 
>>> In RCPAPP, I have configured a jboss 7.1 runtime server that assumes its
>>> started, pointing to the one in my IDE. I expand the tree view in the
>>> Servers View and this displays the disconnected teiid server node correctly.
>>> 
>>> I click start in the Servers View and that is when RCPAPP freezes.
>>> Looking at the threads,
>>> 
>>> main and worker-0 (decorator thread) both try to adapt the IServer for
>>> different purposes and its a toss up which calls the adapter first. The
>>> one that gets there first then tries to interrogate the IServer using
>>> the following:
>>> 
>>> String requestString = request.toJSONString(true);
>>> String resultString = JBoss7ManagerUtil.getService(server).execute(new
>>> 	AS7ManagementDetails(server),
>>> 	requestString);
>>> return ModelNode.fromJSONString(resultString);
>>> 
>>> I have used this to detect whether the server has started so the request
>>> string looks like this:
>>> 
>>> // Request that finds the name of the server
>>> ModelNode request = new ModelNode();
>>> request.get(OP).set(READ_ATTRIBUTE_OPERATION);
>>> request.get(NAME).set(NAME);
>>> 
>>> If the request throws an exception that its not connected. This just
>>> isnt working since this stalls at:
>>> 
>>> Object.wait(long) line: not available [native method]	
>>> FutureResult$1(AbstractIoFuture<T>).await(long, TimeUnit) line: 101	
>>> ProtocolChannelClient.connectSync(CallbackHandler, Map<String,String>,
>>> SSLContext) line: 140	
>>> ManagementClientChannelStrategy$Establishing.getChannel() line: 166	
>>> RemotingModelControllerClient.getOrCreateChannel() line: 138	
>>> 
>>> So can you help?
>>> 
>>> 1) Any info as to why the request would be stalled even though the
>>> server has been started in the IDE but not completely in RCPAPP.
>>> 
>>> 2) Can you suggest a better way in java to conclude that the server (and
>>> maybe the IServer) has been completely started. I have found [1] but not
>>> quite sure whether this would be suitable for a jboss 7.1 that has
>>> already started
>>> 
>>> Happy to provide further information (offlist or irc if preferred), as
>>> required.
>>> 
>>> The thread dump of the RCPAPP at the point of freeze is attached.
>>> 
>>> * Worker-1 is the stalled thread while main is waiting on a sync lock
>>> for worker-1 to complete its adaptation of the IServer to a TeiidServer
>>> (POJO modelling the teiid server).
>>> 
>>> [1] https://community.jboss.org/wiki/HowDoIGetRemoteAccessToMyMBean
>>> 
>>> Cheers
>>> 
>>> PGR
>>> 
>>> -- 
>>> Paul Richardson
>>> 
>>> * p.g.richardson at redhat.com
>>> * p.g.richardson at phantomjinx.co.uk
>>> <threaddump.txt>_______________________________________________
>>> jbosstools-dev mailing list
>>> jbosstools-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/jbosstools-dev
>> 
> 
> 
> -- 
> Paul Richardson
> 
>  * p.g.richardson at phantomjinx.co.uk
>  * pgrichardson at linux.com
>  * mob: +44 (0)9780 869490
>  * home: +44 (0)1633 892850
> 
> "I know exactly who reads the papers ...
> 
>  * The Daily Mirror is read by people who think they run the country.
>  * The Guardian is read by people who think they ought to run the country.
>  * The Times is read by people who do actually run the country.
>  * The Daily Mail is read by the wives of the people who run the country.
>  * The Financial Times is read by the people who own the country.
>  * The Morning Star is read by the people who think the country ought
>    to be run by another country.
>  * The Daily Telegraph is read by the people who think it is."
> 
> Jim Hacker, Yes Minister
> 




More information about the jbosstools-dev mailing list