You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Jeremy Gustie (JIRA)" <ji...@apache.org> on 2008/11/11 17:52:44 UTC

[jira] Commented: (DERBY-3887) Embedded Derby fails under JBoss because of JMX-related conflicts

    [ https://issues.apache.org/jira/browse/DERBY-3887?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12646592#action_12646592 ] 

Jeremy Gustie commented on DERBY-3887:
--------------------------------------

You can enable JBoss to act as the platform MBean server on Java 5+ runtimes using the "jboss.platform.mbeanserver" system property (add it to the JBoss run script in the JAVA_OPTS variable). See JBAS-1610 on the JBoss JIRA site. Doing this will ensure that ManagementFactory.getPlatformMBeanServer returns the JBoss MBeanServerImpl instead of trying to create a new one with implementations that are not available.

> Embedded Derby fails under JBoss because of JMX-related conflicts
> -----------------------------------------------------------------
>
>                 Key: DERBY-3887
>                 URL: https://issues.apache.org/jira/browse/DERBY-3887
>             Project: Derby
>          Issue Type: Bug
>          Components: JMX
>    Affects Versions: 10.4.2.0
>         Environment: Windows XP SP2, JBoss 4.2.3.GA, Embedder Derby 10.4.2.0.
> Also tested with JBoss 5.0.0.CR2 with the same result.
>            Reporter: Valery Khromov
>            Priority: Critical
>
> I'm trying to use embedded Derby as datasource for JBoss and found that it fails with error.
> See stacktrace below.
> It looks like JMX module in Derby conflicts with JBoss JMX.
> After I have disabled Derby JMX removing "derby.module.mgmt.jmx=org.apache.derby.impl.services.jmx.JMXManagementService" line from org\apache\derby\modules.properties file in derby.jar JAR, the bug disappears.
> How to reproduce the issue:
> 1). Install JBoss
> 2). Copy jboss\docs\examples\varia\derby-plugin.jar into jboss\server\default\lib
> 3). Copy Derby JAR (derby.jar) into jboss\server\default\lib
> 4). Copy datasource file into jboss\server\default\lib
> 5). Start JBoss using bin\run.bat
> Datasource file (zzzzz-ds.xml):
> ==={{{
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE datasources
>         PUBLIC "-//JBoss//DTD JBOSS JCA Config 1.5//EN"
>         "http://www.jboss.org/j2ee/dtd/jboss-ds_1_5.dtd">
> <datasources>
>     <local-tx-datasource>
>         <jndi-name>zzzzzDatasource</jndi-name>
>         <driver-class>org.apache.derby.jdbc.EmbeddedDriver</driver-class>
>         <!--connection-url>jdbc:derby:${jboss.server.data.dir}{/}derby{/}zzzzz;create=true</connection-url-->
>         <connection-url>jdbc:derby:IGNORED</connection-url>
>         <user-name>IGNORED</user-name>
>         <password>IGNORED</password>
>         <min-pool-size>5</min-pool-size>
>         <max-pool-size>20</max-pool-size>
>         <idle-timeout-minutes>5</idle-timeout-minutes>
>         <track-statements/>
>         <depends>jboss:service=zzzzzDerbyDB</depends>
>     </local-tx-datasource>
>     
>     <!-- Don't forget to install derby-plugin.jar and derby*.jar into jboss/server/default/lib -->
>     <mbean code="org.jboss.jdbc.DerbyDatabase" name="jboss:service=zzzzzDerbyDB">
>         <attribute name="Database">zzzzz</attribute>
>         <attribute name="User">sa</attribute>
>         <attribute name="Password"></attribute>
>     </mbean>
> </datasources>
> ===}}}
> Part of JBoss log with error and stacktrace:
> ==={{{
> 02:40:28,031 INFO  [DerbyDatabase] starting derby jdbc:derby:C:\opt\jboss-4.2.3.GA\server\default\data/derby/zzzzz;create=true
> 02:40:28,468 WARN  [ServiceController] Problem starting service jboss:service=zzzzzDerbyDB
> java.lang.ExceptionInInitializerError
>         at java.lang.Class.forName0(Native Method)
>         at java.lang.Class.forName(Class.java:247)
>         at org.jboss.jdbc.DerbyDatabase.getConnection(DerbyDatabase.java:222)
>         at org.jboss.jdbc.DerbyDatabase.startService(DerbyDatabase.java:189)
>         at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
>         at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
>         at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
>         at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
>         at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
>         at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
>         at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
>         at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
>         at $Proxy0.start(Unknown Source)
>         at org.jboss.system.ServiceController.start(ServiceController.java:417)
>         at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
>         at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
>         at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
>         at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
>         at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
>         at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
>         at $Proxy4.start(Unknown Source)
>         at org.jboss.deployment.SARDeployer.start(SARDeployer.java:304)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
>         at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
>         at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
>         at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
>         at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
>         at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
>         at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
>         at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
>         at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
>         at $Proxy42.start(Unknown Source)
>         at org.jboss.deployment.XSLSubDeployer.start(XSLSubDeployer.java:197)
>         at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
>         at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
>         at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
>         at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
>         at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
>         at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
>         at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
>         at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
>         at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
>         at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
>         at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
>         at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
>         at $Proxy9.deploy(Unknown Source)
>         at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
>         at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:634)
>         at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
>         at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:336)
>         at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
>         at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
>         at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
>         at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
>         at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
>         at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
>         at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
>         at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
>         at $Proxy0.start(Unknown Source)
>         at org.jboss.system.ServiceController.start(ServiceController.java:417)
>         at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
>         at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
>         at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
>         at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
>         at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
>         at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
>         at $Proxy4.start(Unknown Source)
>         at org.jboss.deployment.SARDeployer.start(SARDeployer.java:304)
>         at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
>         at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
>         at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
>         at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:766)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
>         at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
>         at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
>         at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
>         at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
>         at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
>         at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
>         at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
>         at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
>         at $Proxy5.deploy(Unknown Source)
>         at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:482)
>         at org.jboss.system.server.ServerImpl.start(ServerImpl.java:362)
>         at org.jboss.Main.boot(Main.java:200)
>         at org.jboss.Main$1.run(Main.java:508)
>         at java.lang.Thread.run(Thread.java:619)
> Caused by: javax.management.JMRuntimeException: Failed to load MBeanServerBuilder class org.jboss.mx.server.MBeanServerBuilderImpl: java.lang.ClassNotFoundException: org/jboss/mx/server/MBeanServerBuilderImpl
>         at javax.management.MBeanServerFactory.checkMBeanServerBuilder(MBeanServerFactory.java:480)
>         at javax.management.MBeanServerFactory.getNewMBeanServerBuilder(MBeanServerFactory.java:511)
>         at javax.management.MBeanServerFactory.newMBeanServer(MBeanServerFactory.java:298)
>         at javax.management.MBeanServerFactory.createMBeanServer(MBeanServerFactory.java:213)
>         at javax.management.MBeanServerFactory.createMBeanServer(MBeanServerFactory.java:174)
>         at sun.management.ManagementFactory.createPlatformMBeanServer(ManagementFactory.java:302)
>         at java.lang.management.ManagementFactory.getPlatformMBeanServer(ManagementFactory.java:504)
>         at org.apache.derby.impl.services.jmx.JMXManagementService$3.run(Unknown Source)
>         at org.apache.derby.impl.services.jmx.JMXManagementService$3.run(Unknown Source)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at org.apache.derby.impl.services.jmx.JMXManagementService.findServer(Unknown Source)
>         at org.apache.derby.impl.services.jmx.JMXManagementService.boot(Unknown Source)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(Unknown Source)
>         at org.apache.derby.iapi.services.monitor.Monitor.startSystemModule(Unknown Source)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.runWithState(Unknown Source)
>         at org.apache.derby.impl.services.monitor.FileMonitor.<init>(Unknown Source)
>         at org.apache.derby.iapi.services.monitor.Monitor.startMonitor(Unknown Source)
>         at org.apache.derby.iapi.jdbc.JDBCBoot.boot(Unknown Source)
>         at org.apache.derby.jdbc.EmbeddedDriver.boot(Unknown Source)
>         at org.apache.derby.jdbc.EmbeddedDriver.<clinit>(Unknown Source)
>         ... 110 more
> Caused by: java.lang.ClassNotFoundException: org/jboss/mx/server/MBeanServerBuilderImpl
>         at java.lang.Class.forName0(Native Method)
>         at java.lang.Class.forName(Class.java:169)
>         at javax.management.MBeanServerFactory.loadBuilderClass(MBeanServerFactory.java:427)
>         at javax.management.MBeanServerFactory.checkMBeanServerBuilder(MBeanServerFactory.java:465)
>         ... 131 more
> 02:40:29,250 INFO  [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=DefaultDS' to JNDI name 'java:DefaultDS'
> 02:40:29,562 INFO  [A] Bound to JNDI name: queue/A
> 02:40:29,562 INFO  [B] Bound to JNDI name: queue/B
> 02:40:29,562 INFO  [C] Bound to JNDI name: queue/C
> 02:40:29,562 INFO  [D] Bound to JNDI name: queue/D
> 02:40:29,578 INFO  [ex] Bound to JNDI name: queue/ex
> 02:40:29,593 INFO  [testTopic] Bound to JNDI name: topic/testTopic
> 02:40:29,593 INFO  [securedTopic] Bound to JNDI name: topic/securedTopic
> 02:40:29,609 INFO  [testDurableTopic] Bound to JNDI name: topic/testDurableTopic
> 02:40:29,609 INFO  [testQueue] Bound to JNDI name: queue/testQueue
> 02:40:29,656 INFO  [UILServerILService] JBossMQ UIL service available at : /127.0.0.1:8093
> 02:40:29,703 INFO  [DLQ] Bound to JNDI name: queue/DLQ
> 02:40:29,875 INFO  [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=ConnectionFactoryBinding,name=JmsXA' to JNDI name 'java:JmsXA'
> 02:40:30,093 INFO  [TomcatDeployer] deploy, ctxPath=/jmx-console, warUrl=.../deploy/jmx-console.war/
> 02:40:30,250 ERROR [URLDeploymentScanner] Incomplete Deployment listing:
> --- MBeans waiting for other MBeans ---
> ObjectName: jboss:service=zzzzzDerbyDB
>   State: FAILED
>   Reason: java.lang.ExceptionInInitializerError
>   Depends On Me:
>     jboss.jca:service=ManagedConnectionFactory,name=zzzzzDatasource
> --- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM ---
> ObjectName: jboss:service=zzzzzDerbyDB
>   State: FAILED
>   Reason: java.lang.ExceptionInInitializerError
>   Depends On Me:
>     jboss.jca:service=ManagedConnectionFactory,name=zzzzzDatasource
> 02:40:30,656 INFO  [Http11AprProtocol] Starting Coyote HTTP/1.1 on http-127.0.0.1-8080
> 02:40:30,687 INFO  [AjpAprProtocol] Starting Coyote AJP/1.3 on ajp-127.0.0.1-8009
> 02:40:30,703 INFO  [Server] JBoss (MX MicroKernel) [4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181439)] Started in 23s:375ms

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.