[jboss-osgi-users] [JBoss OSGi] - Jboss 5 as plugin/bundle inside another osgi-implementatin -

Rhodan do-not-reply at jboss.com
Thu Apr 9 07:43:36 EDT 2009


Hello,

don't know if it's the right place here - but we have an osgi-problem with jboss 5....

Due to the absence of an embeded jboss we are trying to boot the whole jboss 5 as a single plugin inside of an rcp-application (=equinox-osgi implementation). Already fixed follwoing problems:

- made vfs urls known to the osgi implementation
- made withe-spaces in path working
- ugly hacked some classloading issues

we encounter now some (strange) problem of type:

  | 2009-04-09 13:18:52,170 INFO  [STDOUT] (Thread-12) While loading class "com.arjuna.ats.internal.arjuna.recovery.TransactionStatusConnector",
  | thread "Thread[Thread-12,5,main]" timed out waiting (5000ms) for thread "Thread[Start Level Event Dispatcher,5,main]" to finish starting bundle  initial at reference:file:plugins/com.qualitype.genoproof.rcp.server_1.0.0/ [3]".To avoid deadlock, thread "Thread[Thread-12,5,main]" is proceeding but "com.arjuna.ats.internal.arjuna.recovery.TransactionStatusConnector" may not be fully initialized.

Seems like the equinox osgi-framework cannot handle halting of modules due to the dependency management between different jboss services.

See also http://dev.eclipse.org/newslists/news.eclipse.webtools/msg15744.html

Stacktrace from boot.log:


  | 2009-04-09 13:18:46,878 DEBUG [org.jboss.deployers.structure.spi.helpers.AbstractDeploymentContext] (Start Level Event Dispatcher) Added component DefaultUserTransactionprovider to vfsfile:/C:/temp/Genoproof2/eclipse/plugins/com.qualitype.genoproof.rcp.server_1.0.0/Jboss/server/default/deploy/transaction-jboss-beans.xml
  | 2009-04-09 13:18:46,925 DEBUG [org.jboss.system.ServiceController] (Start Level Event Dispatcher) Registering service jboss:service=TransactionManager
  | 2009-04-09 13:18:46,925 DEBUG [org.jboss.system.microcontainer.jmx.ServiceControllerRegistrationLifecycleCallback] (Start Level Event Dispatcher) Registered MBean jboss:service=TransactionManager
  | 2009-04-09 13:18:46,925 INFO  [com.arjuna.ats.jbossatx.jta.TransactionManagerService] (Start Level Event Dispatcher) JBossTS Transaction Service (JTA version) - JBoss Inc.
  | 2009-04-09 13:18:46,925 INFO  [com.arjuna.ats.jbossatx.jta.TransactionManagerService] (Start Level Event Dispatcher) Setting up property manager MBean and JMX layer
  | 2009-04-09 13:18:47,019 DEBUG [com.arjuna.ats.arjuna.logging.arjLoggerI18N] (Start Level Event Dispatcher) [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_1] - Starting service com.arjuna.ats.arjuna.recovery.ActionStatusService on port 4713
  | 2009-04-09 13:18:47,034 DEBUG [com.arjuna.ats.arjuna.logging.arjLogger] (Start Level Event Dispatcher) TransactionStatusManagerItem - host: 127.0.0.1 port: 4713
  | 2009-04-09 13:18:47,050 DEBUG [com.arjuna.ats.arjuna.logging.arjLoggerI18N] (Start Level Event Dispatcher) [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 4713 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
  | 2009-04-09 13:18:47,081 DEBUG [com.arjuna.ats.tsmx.logging.tsmxLogger] (Start Level Event Dispatcher) Registering mbean for module 'arjuna'
  | 2009-04-09 13:18:47,081 DEBUG [com.arjuna.ats.tsmx.logging.tsmxLogger] (Start Level Event Dispatcher) Initialising JMX agent com.arjuna.ats.internal.jbossatx.agent.LocalJBossAgentImpl
  | 2009-04-09 13:18:47,081 DEBUG [com.arjuna.ats.tsmx.logging.tsmxLogger] (Start Level Event Dispatcher) Registering mbean for module 'jta'
  | 2009-04-09 13:18:47,081 DEBUG [com.arjuna.ats.tsmx.logging.tsmxLogger] (Start Level Event Dispatcher) Registering mbean for module 'txoj'
  | 2009-04-09 13:18:47,112 INFO  [com.arjuna.ats.jbossatx.jta.TransactionManagerService] (Start Level Event Dispatcher) Initializing recovery manager
  | 2009-04-09 13:18:47,112 DEBUG [com.arjuna.ats.arjuna.logging.arjLogger] (Start Level Event Dispatcher) 
  |   --- Start RecoveryActivators 
  | 2009-04-09 13:18:47,128 DEBUG [com.arjuna.ats.arjuna.logging.arjLogger] (Thread-12) 
  |   --- ExpiredEntryMonitor ----Do, 9 Apr 2009 13:18:47----
  | 2009-04-09 13:18:52,170 INFO  [STDOUT] (Thread-12) !ENTRY
  | 2009-04-09 13:18:52,170 INFO  [STDOUT] (Thread-12)  
  | 2009-04-09 13:18:52,170 INFO  [STDOUT] (Thread-12) org.eclipse.osgi
  | 2009-04-09 13:18:52,170 INFO  [STDOUT] (Thread-12)  
  | 2009-04-09 13:18:52,170 INFO  [STDOUT] (Thread-12) 2
  | 2009-04-09 13:18:52,170 INFO  [STDOUT] (Thread-12)  
  | 2009-04-09 13:18:52,170 INFO  [STDOUT] (Thread-12) 0
  | 2009-04-09 13:18:52,170 INFO  [STDOUT] (Thread-12)  
  | 2009-04-09 13:18:52,170 INFO  [STDOUT] (Thread-12) 2009-04-09 13:18:52.170
  | 2009-04-09 13:18:52,170 INFO  [STDOUT] (Thread-12) !MESSAGE
  | 2009-04-09 13:18:52,170 INFO  [STDOUT] (Thread-12)  
  | 2009-04-09 13:18:52,170 INFO  [STDOUT] (Thread-12) While loading class "com.arjuna.ats.internal.arjuna.recovery.TransactionStatusConnector", thread "Thread[Thread-12,5,main]" timed out waiting (5000ms) for thread "Thread[Start Level Event Dispatcher,5,main]" to finish starting bundle "initial at reference:file:plugins/com.qualitype.genoproof.rcp.server_1.0.0/ [3]". To avoid deadlock, thread "Thread[Thread-12,5,main]" is proceeding but "com.arjuna.ats.internal.arjuna.recovery.TransactionStatusConnector" may not be fully initialized.
  | 2009-04-09 13:18:52,170 INFO  [STDOUT] (Thread-12) !STACK
  | 2009-04-09 13:18:52,170 INFO  [STDOUT] (Thread-12)  
  | 2009-04-09 13:18:52,170 INFO  [STDOUT] (Thread-12) 0
  | 2009-04-09 13:18:52,170 INFO  [STDOUT] (Thread-12) org.osgi.framework.BundleException: State change in progress for bundle "initial at reference:file:plugins/com.qualitype.genoproof.rcp.server_1.0.0/" by thread "Start Level Event Dispatcher".
  | 	at org.eclipse.osgi.framework.internal.core.AbstractBundle.beginStateChange(AbstractBundle.java:1144)
  | 	at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:263)
  | 	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:400)
  | 	at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:111)
  | 	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:427)
  | 	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:193)
  | 	at org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:370)
  | 	at org.eclipse.osgi.framework.internal.core.BundleLoader.findClassInternal(BundleLoader.java:446)
  | 	at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:399)
  | 	at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:387)
  | 	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:87)
  | 	at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
  | 	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
  | 	at com.arjuna.ats.internal.arjuna.recovery.ExpiredTransactionStatusManagerScanner.scan(ExpiredTransactionStatusManagerScanner.java:144)
  | 	at com.arjuna.ats.internal.arjuna.recovery.ExpiredEntryMonitor.run(ExpiredEntryMonitor.java:212)
  | Caused by: org.eclipse.osgi.framework.internal.core.AbstractBundle$BundleStatusException
  | 	... 15 more
  | Root exception:
  | org.eclipse.osgi.framework.internal.core.AbstractBundle$BundleStatusException
  | 	at org.eclipse.osgi.framework.internal.core.AbstractBundle.beginStateChange(AbstractBundle.java:1144)
  | 	at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:263)
  | 	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:400)
  | 	at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:111)
  | 	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:427)
  | 	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:193)
  | 	at org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:370)
  | 	at org.eclipse.osgi.framework.internal.core.BundleLoader.findClassInternal(BundleLoader.java:446)
  | 	at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:399)
  | 	at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:387)
  | 	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:87)
  | 	at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
  | 	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
  | 	at com.arjuna.ats.internal.arjuna.recovery.ExpiredTransactionStatusManagerScanner.scan(ExpiredTransactionStatusManagerScanner.java:144)
  | 	at com.arjuna.ats.internal.arjuna.recovery.ExpiredEntryMonitor.run(ExpiredEntryMonitor.java:212)
  | 2009-04-09 13:18:57,212 INFO  [STDOUT] (Listener:4713) !ENTRY
  | 2009-04-09 13:18:57,212 INFO  [STDOUT] (Listener:4713)  
  | 2009-04-09 13:18:57,212 INFO  [STDOUT] (Listener:4713) org.eclipse.osgi
  | 2009-04-09 13:18:57,212 INFO  [STDOUT] (Listener:4713)  
  | 2009-04-09 13:18:57,212 INFO  [STDOUT] (Listener:4713) 2
  | 2009-04-09 13:18:57,212 INFO  [STDOUT] (Listener:4713)  
  | 2009-04-09 13:18:57,212 INFO  [STDOUT] (Listener:4713) 0
  | 2009-04-09 13:18:57,212 INFO  [STDOUT] (Listener:4713)  
  | 2009-04-09 13:18:57,212 INFO  [STDOUT] (Listener:4713) 2009-04-09 13:18:57.212
  | 2009-04-09 13:18:57,212 INFO  [STDOUT] (Listener:4713) !MESSAGE
  | 2009-04-09 13:18:57,212 INFO  [STDOUT] (Listener:4713)  
  | 2009-04-09 13:18:57,212 INFO  [STDOUT] (Listener:4713) While loading class "com.arjuna.ats.internal.arjuna.recovery.Connection", thread "Thread[Listener:4713,5,main]" timed out waiting (5000ms) for thread "Thread[Start Level Event Dispatcher,5,main]" to finish starting bundle "initial at reference:file:plugins/com.qualitype.genoproof.rcp.server_1.0.0/ [3]". To avoid deadlock, thread "Thread[Listener:4713,5,main]" is proceeding
  | but "com.arjuna.ats.internal.arjuna.recovery.Connection" may not be fully initialized.
  | 2009-04-09 13:18:57,212 INFO  [STDOUT] (Listener:4713) !STACK
  | 2009-04-09 13:18:57,212 INFO  [STDOUT] (Listener:4713)  
  | 2009-04-09 13:18:57,212 INFO  [STDOUT] (Listener:4713) 0
  | 2009-04-09 13:18:57,212 INFO  [STDOUT] (Listener:4713) org.osgi.framework.BundleException: State change in progress for bundle "initial at reference:file:plugins/com.qualitype.genoproof.rcp.server_1.0.0/" by thread "Start Level Event Dispatcher".
  | 	at org.eclipse.osgi.framework.internal.core.AbstractBundle.beginStateChange(AbstractBundle.java:1144)
  | 	at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:263)
  | 	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:400)
  | 	at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:111)
  | 	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:427)
  | 	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:193)
  | 	at org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:370)
  | 	at org.eclipse.osgi.framework.internal.core.BundleLoader.findClassInternal(BundleLoader.java:446)
  | 	at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:399)
  | 	at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:387)
  | 	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:87)
  | 	at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
  | 	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
  | 	at com.arjuna.ats.internal.arjuna.recovery.Listener.run(Listener.java:121)
  | Caused by: org.eclipse.osgi.framework.internal.core.AbstractBundle$BundleStatusException
  | 	... 14 more
  | Root exception:
  | org.eclipse.osgi.framework.internal.core.AbstractBundle$BundleStatusException
  | 	at org.eclipse.osgi.framework.internal.core.AbstractBundle.beginStateChange(AbstractBundle.java:1144)
  | 	at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:263)
  | 	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:400)
  | 	at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:111)
  | 	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:427)
  | 	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:193)
  | 	at org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:370)
  | 	at org.eclipse.osgi.framework.internal.core.BundleLoader.findClassInternal(BundleLoader.java:446)
  | 	at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:399)
  | 	at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:387)
  | 	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:87)
  | 	at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
  | 	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
  | 	at com.arjuna.ats.internal.arjuna.recovery.Listener.run(Listener.java:121)
  | 


Can somebody bring some ligth into this problem - and answer the question, if it should be possible to boot up jboss inside of another osgi-implementation?



View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4224652#4224652

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4224652



More information about the jboss-osgi-users mailing list