Ich habe zwei Webanwendungen.
Beide verwenden oracle.ucp.UniversalConnectionPool.
Wenn ich diese Anwendungen auf JBoss bereitstelle, erhalte ich folgende Ausnahme:
java.sql.SQLException: Universal Connection Pool kann nicht gestartet werden: java.sql.SQLException: Universal Connection Pool kann nicht gestartet werden: oracle.ucp.UniversalConnectionPoolException: MBean-Ausnahme ist aufgetreten beim Registrieren oder Deregistrieren des MBeans
at oracle.ucp.util.UCPErrorHandler.newSQLException(UCPErrorHandler.java:541)
at oracle.ucp.jdbc.PoolDataSourceImpl.throwSQLException(PoolDataSourceImpl.java:588)
at oracle.ucp.jdbc.PoolDataSourceImpl.startPool(PoolDataSourceImpl.java:277)
at oracle.ucp.jdbc.PoolDataSourceImpl.getConnection(PoolDataSourceImpl.java:647)
at oracle.ucp.jdbc.PoolDataSourceImpl.getConnection(PoolDataSourceImpl.java:614)
at oracle.ucp.jdbc.PoolDataSourceImpl.getConnection(PoolDataSourceImpl.java:608)
at org.springframework.jdbc.datasource.LazyConnectionDataSourceProxy.afterPropertiesSet(LazyConnectionDataSourceProxy.java:163)
...
Ursache: java.sql.SQLException: Universal Connection Pool kann nicht gestartet werden: oracle.ucp.UniversalConnectionPoolException: MBean-Ausnahme ist aufgetreten beim Registrieren oder Deregistrieren des MBeans
at oracle.ucp.util.UCPErrorHandler.newSQLException(UCPErrorHandler.java:541)
at oracle.ucp.jdbc.PoolDataSourceImpl.throwSQLException(PoolDataSourceImpl.java:588)
at oracle.ucp.jdbc.PoolDataSourceImpl.startPool(PoolDataSourceImpl.java:248)
... 212 more
Ursache: oracle.ucp.UniversalConnectionPoolException: MBean-Ausnahme ist aufgetreten beim Registrieren oder Deregistrieren des MBeans
at oracle.ucp.util.UCPErrorHandler.newUniversalConnectionPoolException(UCPErrorHandler.java:421)
at oracle.ucp.util.UCPErrorHandler.newUniversalConnectionPoolException(UCPErrorHandler.java:389)
at oracle.ucp.admin.UniversalConnectionPoolManagerMBeanImpl.getUniversalConnectionPoolManagerMBean(UniversalConnectionPoolManagerMBeanImpl.java:148)
at oracle.ucp.jdbc.PoolDataSourceImpl.startPool(PoolDataSourceImpl.java:243)
... 212 more
Ursache: java.security.PrivilegedActionException: javax.management.InstanceAlreadyExistsException: oracle.ucp.admin:name=UniversalConnectionPoolManagerMBean ist bereits registriert.
at java.security.AccessController.doPrivileged(Native Method)
at oracle.ucp.admin.UniversalConnectionPoolManagerMBeanImpl.getUniversalConnectionPoolManagerMBean(UniversalConnectionPoolManagerMBeanImpl.java:135)
... 213 more
Ursache: javax.management.InstanceAlreadyExistsException: oracle.ucp.admin:name=UniversalConnectionPoolManagerMBean ist bereits registriert.
at org.jboss.mx.server.registry.BasicMBeanRegistry.add(BasicMBeanRegistry.java:756)
at org.jboss.mx.server.registry.BasicMBeanRegistry.registerMBean(BasicMBeanRegistry.java:233)
at sun.reflect.GeneratedMethodAccessor75.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:138)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:90)
at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:140)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:90)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
at org.jboss.mx.server.MBeanServerImpl$3.run(MBeanServerImpl.java:1431)
at java.security.AccessController.doPrivileged(Native Method)
at org.jboss.mx.server.MBeanServerImpl.registerMBean(MBeanServerImpl.java:1426)
at org.jboss.mx.server.MBeanServerImpl.registerMBean(MBeanServerImpl.java:376)
at oracle.ucp.admin.UniversalConnectionPoolManagerMBeanImpl$2.run(UniversalConnectionPoolManagerMBeanImpl.java:141)
... 215 more
Definition des Datenquellen-Beans:
...
Kennt jemand eine Lösung für dieses Problem?
0 Stimmen
Ich versuche, zwei Kriege auf Tomcat zu implementieren und habe das gleiche Problem. Wenn ich die ojdbc6.jar und ucp.jar-Dateien in das Tomcat/lib-Verzeichnis kopiere UND sie aus meinen Kriegen entferne, kann ich beide Apps erfolgreich laden. Beide Schritte sind notwendig. Allerdings finde ich das keine akzeptable Lösung und suche immer noch nach einem einfacheren / besseren Weg, dies zu handhaben. Ich verwende Spring, um meine Datenquelle zu konfigurieren, und sehe keinen Weg, den Namen zu ändern: oracle.ucp.admin: name = UniversalConnectionPoolManagerMBean. Ich habe Lösungen gesehen, wenn Sie dies manuell machen, aber nicht aus einem Spring-Kontext heraus.