3 Replies Latest reply on Apr 14, 2009 10:01 AM by thomas.diesler

    Jboss 5 as plugin/bundle inside another osgi-implementatin -

    rhodan76

      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@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@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@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@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@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?