[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