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.