[jbosstools-dev] Detecting a jboss 7.1 server startup

phantomjinx p.g.richardson at phantomjinx.co.uk
Fri Aug 31 05:02:11 EDT 2012


Hi Max,

>
> 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.


> 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.

> btw. what version of JBoss Tools are you using for this ?

Mostly, they are 7.7.1 but some of the ide.eclipse plugins I have
brought into my workspace from svn trunk.

Thanks for getting back to me.

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