Greetings.
In JBoss 3.0/3.2, I had Datasources being created programmatically (a
couple of hundred to a couple of thousand separate DBs, no WAY is
defining *-ds.xml files viable here). I had this working in 3.0/3.2,
but when I tried to upgrade to JBoss 4.2, the code in question died.
So, did some research, reviewed the web-console, did some digging, and
made some modifications (attached).
This method is based HEAVILY on the
org.jboss.test.jmx.test.DeployConnectionManagerUnitTestCase, a test case
which has since been deleted with no apparent replacement. The
attached code is creating all of the objects, and they seem to be
accessible. However, when I try to get a Connection from a newly
created ConnectionPool, I get the following exception. Any suggestions
as to what I am not setting, or not creating????
Regards,
Steve
Looking up: java:/jdbc/pool/sda
15:56:06,142 WARN
[com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.enlistResource(TransactionImple.java:801)]
[com.arjuna.ats.internal.jta.transaction.arjunacore.enliststarterror]
[com.arjuna.ats.internal.jta.transaction.arjunacore.enliststarterror]
TransactionImple.enlistResource - XAResource.start returned:
XAException.XAER_PROTO for < 131075, 29, 27,
1--3f5704ff:3e11:46fc100e:11c-3f5704ff:3e11:46fc100e:11f >
15:56:06,145 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)]
org.jboss.resource.connectionmanager.JBossLocalXAException: Trying to
start a new tx when old is not complete! old: < 131075, 28, 26,
1--3f5704ff:3e11:46fc100e:2e-3f5704ff:3e11:46fc100e:32 >, new < 131075,
29, 27, 1--3f5704ff:3e11:46fc100e:11c-3f5704ff:3e11:46fc100e:11f >, flags 0
15:56:06,166 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.resource.connectionmanager.TxConnectionManager$LocalXAResource.start(TxConnectionManager.java:886)
15:56:06,168 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.enlistResource(TransactionImple.java:774)
15:56:06,178 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.enlistResource(TransactionImple.java:497)
15:56:06,181 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener$TransactionSynchronization.enlist(TxConnectionManager.java:773)
15:56:06,188 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener.enlist(TxConnectionManager.java:564)
15:56:06,191 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.resource.connectionmanager.TxConnectionManager.managedConnectionReconnected(TxConnectionManager.java:337)
15:56:06,198 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.resource.connectionmanager.BaseConnectionManager2.reconnectManagedConnection(BaseConnectionManager2.java:518)
15:56:06,200 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:399)
15:56:06,203 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:842)
15:56:06,206 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:88)
15:56:06,208 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
com.hrnexus.common.ejb.DBConnection.getConnection(DBConnection.java)
15:56:06,229 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
com.hrnexus.security.ejb.UserEJB.ejbLoad(UserEJB.java)
15:56:06,232 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
15:56:06,235 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
15:56:06,239 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
15:56:06,242 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
java.lang.reflect.Method.invoke(Method.java:585)
15:56:06,245 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.ejb.plugins.BMPPersistenceManager.loadEntity(BMPPersistenceManager.java:435)
15:56:06,248 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.loadEntity(CachedConnectionInterceptor.java:252)
15:56:06,251 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invoke(EntitySynchronizationInterceptor.java:243)
15:56:06,263 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:158)
15:56:06,267 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.ejb.plugins.EntityReentranceInterceptor.invoke(EntityReentranceInterceptor.java:126)
15:56:06,271 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.ejb.plugins.EntityInstanceInterceptor.invoke(EntityInstanceInterceptor.java:278)
15:56:06,274 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.ejb.plugins.EntityLockInterceptor.invoke(EntityLockInterceptor.java:104)
15:56:06,277 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.ejb.plugins.EntityCreationInterceptor.invoke(EntityCreationInterceptor.java:76)
15:56:06,280 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63)
15:56:06,304 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121)
15:56:06,307 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350)
15:56:06,309 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181)
15:56:06,311 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:168)
15:56:06,314 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
15:56:06,316 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:138)
15:56:06,319 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.ejb.EntityContainer.internalInvoke(EntityContainer.java:527)
15:56:06,321 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.ejb.Container.invoke(Container.java:960)
15:56:06,323 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
15:56:06,328 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
15:56:06,330 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
15:56:06,333 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
java.lang.reflect.Method.invoke(Method.java:585)
15:56:06,335 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
15:56:06,338 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
15:56:06,339 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
15:56:06,340 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
15:56:06,342 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
15:56:06,343 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.invocation.local.LocalInvoker$MBeanServerAction.invoke(LocalInvoker.java:169)
15:56:06,345 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:118)
15:56:06,346 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.invocation.InvokerInterceptor.invokeLocal(InvokerInterceptor.java:209)
15:56:06,348 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:195)
15:56:06,349 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:61)
15:56:06,350 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:70)
15:56:06,352 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.proxy.ejb.EntityInterceptor.invoke(EntityInterceptor.java:112)
15:56:06,358 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:100)
15:56:06,360 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
$Proxy133.logOut(Unknown Source)
\15:56:06,363 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
com.hrnexus.security.UserProxy.valueUnbound(UserProxy.java)
15:56:06,364 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.mortbay.jetty.servlet.AbstractSessionManager$Session.unbindValue(AbstractSessionManager.java:1118)
15:56:06,367 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.mortbay.jetty.servlet.AbstractSessionManager$Session.setAttribute(AbstractSessionManager.java:1050)
15:56:06,369 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
com.hrnexus.security.servlet.LoginServlet.logIn(LoginServlet.java)
15:56:06,370 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
com.hrnexus.security.servlet.LoginServlet.doPost(LoginServlet.java)
15:56:06,373 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
15:56:06,376 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
15:56:06,385 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.mortbay.jetty.servlet.jsr77.Jsr77ServletHolder.handle(Jsr77ServletHolder.java:74)
15:56:06,387 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
15:56:06,388 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
15:56:06,390 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
15:56:06,391 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
15:56:06,392 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
15:56:06,394 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:211)
15:56:06,395 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
15:56:06,397 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
15:56:06,398 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.mortbay.jetty.Server.handle(Server.java:313)
15:56:06,399 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
15:56:06,401 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:844)
15:56:06,402 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:644)
15:56:06,404 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:205)
15:56:06,405 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
15:56:06,406 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:227)
15:56:06,408 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.mortbay.jetty.security.SslSocketConnector$SslConnection.run(SslSocketConnector.java:626)
15:56:06,409 ERROR
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)] at
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
15:56:06,411 INFO
[org.jboss.logging.util.LoggerStream.write(LoggerStream.java:152)]
at
org.jboss.ejb.plugins.EntityReentranceInterceptor.invoke(EntityReentranceInterceptor.java:126)
at
org.jboss.ejb.plugins.EntityInstanceInterceptor.invoke(EntityInstanceInterceptor.java:278)
at
org.jboss.ejb.plugins.EntityLockInterceptor.invoke(EntityLockInterceptor.java:104)
at
org.jboss.ejb.plugins.EntityCreationInterceptor.invoke(EntityCreationInterceptor.java:76)
at
org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63)
at
org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121)
at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350)
at
org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181)
at
org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:168)
at
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
at
org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:138)
at
org.jboss.ejb.EntityContainer.internalInvoke(EntityContainer.java:527)
at org.jboss.ejb.Container.invoke(Container.java:960)
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:585)
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.invocation.local.LocalInvoker$MBeanServerAction.invoke(LocalInvoker.java:169)
at
org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:118)
at
org.jboss.invocation.InvokerInterceptor.invokeLocal(InvokerInterceptor.java:209)
at
org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:195)
at
org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:61)
at
org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:70)
at
org.jboss.proxy.ejb.EntityInterceptor.invoke(EntityInterceptor.java:112)
at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:100)
at $Proxy133.logIn(Unknown Source)
at com.hrnexus.security.UserProxy.logIn(UserProxy.java)
at
com.hrnexus.security.servlet.LoginServlet.doPost(LoginServlet.java)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at
org.mortbay.jetty.servlet.jsr77.Jsr77ServletHolder.handle(Jsr77ServletHolder.java:74)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
at
org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:211)
at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:313)
at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:844)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:644)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:205)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
at
org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:227)
at
org.mortbay.jetty.security.SslSocketConnector$SslConnection.run(SslSocketConnector.java:626)
at
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
org.jboss.util.NestedSQLException: Could not enlist in transaction on
entering meta-aware object!; - nested throwable:
(javax.transaction.SystemException: java.lang.Throwable: Unabled to
enlist resource, see the previous warnings. tx=TransactionImple < ac,
BasicAction: -3f5704ff:3e11:46fc100e:108 status: ActionStatus.ABORT_ONLY >)
at
org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:94)
at
com.hrnexus.common.ejb.DBConnection.getConnection(DBConnection.java)
at com.hrnexus.security.ejb.UserEJB.ejbLoad(UserEJB.java)
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:585)
at
org.jboss.ejb.plugins.BMPPersistenceManager.loadEntity(BMPPersistenceManager.java:435)
at
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.loadEntity(CachedConnectionInterceptor.java:252)
at
org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invoke(EntitySynchronizationInterceptor.java:243)
at
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:158)
at
org.jboss.ejb.plugins.EntityReentranceInterceptor.invoke(EntityReentranceInterceptor.java:126)
at
org.jboss.ejb.plugins.EntityInstanceInterceptor.invoke(EntityInstanceInterceptor.java:278)
at
org.jboss.ejb.plugins.EntityLockInterceptor.invoke(EntityLockInterceptor.java:104)
at
org.jboss.ejb.plugins.EntityCreationInterceptor.invoke(EntityCreationInterceptor.java:76)
at
org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63)
at
org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121)
at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350)
at
org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181)
at
org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:168)
at
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
at
org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:138)
at
org.jboss.ejb.EntityContainer.internalInvoke(EntityContainer.java:527)
at org.jboss.ejb.Container.invoke(Container.java:960)
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:585)
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.invocation.local.LocalInvoker$MBeanServerAction.invoke(LocalInvoker.java:169)
at
org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:118)
at
org.jboss.invocation.InvokerInterceptor.invokeLocal(InvokerInterceptor.java:209)
at
org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:195)
at
org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:61)
at
org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:70)
at org.jboss.proxy.ejb.EntityI
private DataSource makeJBossDataSource42x(final String schema, final ResultSet rs)
throws Exception {
if (DEBUG_ENABLED) {
dumpConnectionInfo("makeJBossDataSource42x", schema, rs);
}
final String jndiURL = "jdbc/pool/" + schema;
//LocalTXCM
ObjectName cmName = new ObjectName("jboss.jca:service=LocalTxCM,name=" +
jndiURL);
// try to remove mbean if leftover...
if (server.isRegistered(cmName)) {
server.unregisterMBean(cmName);
}
Object cmBean =
server.createMBean("org.jboss.resource.connectionmanager.TxConnectionManager",
cmName);
assert cmBean != null : "Server never created TxConnectionManager for: "
+ schema;
assert server.isRegistered(cmName) : "Server never registered
ConnectionManager for: " + schema;
//ManagedConnection Factory
ObjectName mcfName = new
ObjectName("jboss.jca:service=ManagedConnectionFactory,name=" + jndiURL);
// try to remove mbean if leftover...
if (server.isRegistered(mcfName)) {
server.unregisterMBean(mcfName);
}
Object mbean =
server.createMBean("org.jboss.resource.connectionmanager.RARDeployment",
mcfName);
assert mbean != null : "Server never created ManagedConnectinoFactory for:
" + schema;
assert server.isRegistered(mcfName) : "Server never registered
ManagedConnectionFactory for: " + schema;
//ManagedConnectionPool
ObjectName mcpName = new
ObjectName("jboss.jca:service=ManagedConnectionPool,name=" + jndiURL);
// try to remove mbean if leftover...
if (server.isRegistered(mcpName)) {
server.unregisterMBean(mcpName);
}
Object pool =
server.createMBean("org.jboss.resource.connectionmanager.JBossManagedConnectionPool",
mcpName);
assert pool != null : "Server never created Connection Pool for: " +
schema;
assert server.isRegistered(mcpName) : "Server never registered Connection
Pool for: " + schema;
ObjectName serviceControllerName = new
ObjectName("jboss.system:service=ServiceController");
// anon block so I don't rename var al
{
AttributeList al = new AttributeList();
al.add(new Attribute("JndiName", jndiURL));
al.add(new Attribute("ManagedConnectionPool", mcpName));
al.add(new Attribute("CachedConnectionManager",
new ObjectName(
"jboss.jca:service=CachedConnectionManager")));
final ObjectName tmsName = new
ObjectName("jboss:service=TransactionManager");
al.add(new Attribute("TransactionManagerService", tmsName));
al.add(new Attribute("LocalTransactions", Boolean.TRUE));
al.add(new Attribute("TraceConnectionByTx", Boolean.TRUE));
// try to set the attributes on the bean
try {
server.setAttributes(cmName, al);
} catch (UndeclaredThrowableException e) {
if (e.getCause() instanceof MBeanException) {
LOGGER.error("Exception setting Attribute on Server handle:
" + e.getMessage(), e);
throw (MBeanException) e.getCause();
}
}
}
// RARDeployment
{
AttributeList al = new AttributeList();
al.add(new Attribute("ManagedConnectionFactoryClass",
"org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory"));
// try to set the attributes on the bean
server.setAttributes(mcfName, al);
}
// anon block so I don't rename vars
{
AttributeList al = new AttributeList();
al.add(new Attribute("PoolJndiName", jndiURL));
al.add(new Attribute("ManagedConnectionFactoryName", mcfName));
al.add(new Attribute("MinSize", new Integer(0)));
al.add(new Attribute("MaxSize", new Integer(50)));
al.add(new Attribute("BlockingTimeoutMillis", new Long(5000)));
al.add(new Attribute("IdleTimeoutMinutes", new Integer(7)));
al.add(new Attribute("Criteria", "ByNothing"));
// try to set the attributes on the bean
server.setAttributes(mcpName, al);
}
//DataSource
ObjectName dsName = new
ObjectName("jboss.jca:service=DataSourceBinding,name=" + jndiURL);
// try to remove mbean if leftover...
if (server.isRegistered(dsName)) {
server.unregisterMBean(dsName);
}
Object dsBean =
server.createMBean("org.jboss.resource.adapter.jdbc.remote.WrapperDataSourceService",
dsName);
assert dsBean != null : "Server never created DataSourceBinding for: " +
schema;
assert server.isRegistered(dsName) : "Server never registered
ConnectionManager for: " + schema;
{
AttributeList al = new AttributeList();
al.add(new Attribute("JndiName", jndiURL));
al.add(new Attribute("UseJavaContext", Boolean.TRUE));
al.add(new Attribute("ConnectionManager", cmName));
// try to set the attributes on the bean
server.setAttributes(dsName, al);
}// anon block so I don't rename var
// start the mbeans
// create and configure the ManagedConnectionFactory
/*
* //Service Controller should already be running!
* server.invoke(serviceControllerName, "create", new Object[]{mcfName},
new String[] {"javax.management.ObjectName"});
* server.invoke(serviceControllerName, "start", new Object[] {mcfName},
new String[] {"javax.management.ObjectName"});
*/
// assertTrue("State is not started",
"Started".equals(getServer().getAttribute(mcfName, "StateString")));
// Make the Connection URL
// Now set the important attributes:
final StringBuffer connectionURL = new StringBuffer("jdbc:");
final String sid = rs.getString(SID);
if (!rs.wasNull()) {
// Oracle DataBase
connectionURL.append("oracle:" + ORACLE_DRIVER_TYPE +
":@");
} else {
// There is a serious issue somewhere, or a new driver type
throw new HRNException(ApplicationConstants.BASE_RESOURCE,
"common.error.db.critical.sid", null);
}
connectionURL.append(rs.getString(MACHINE));
connectionURL.append(':');
connectionURL.append(rs.getString(PORT));
// TODO: Check to see if Oracle before adding following....
connectionURL.append(':');
connectionURL.append(sid);
// Now set the important attributes:
// create and configure the ManagedConnectionFactory
server.invoke(serviceControllerName, "create", new Object[] { mcfName
},
new String[] { "javax.management.ObjectName" });
server.invoke(serviceControllerName, "start", new Object[] { mcfName },
new String[] { "javax.management.ObjectName" });
assert "Started".equals(server.getAttribute(mcfName,
"StateString")) :
"State is not started for ManagedConnectionFactory: " + schema;
server.invoke(mcfName, "setManagedConnectionFactoryAttribute", new
Object[] { "ConnectionURL",
java.lang.String.class, connectionURL.toString() }, new String[] {
"java.lang.String",
"java.lang.Class", "java.lang.Object" });
// TODO: Verify that we are actually using Oracle, and select the appropriate
driver.
server.invoke(mcfName, "setManagedConnectionFactoryAttribute", new
Object[] { "DriverClass",
java.lang.String.class, "oracle.jdbc.driver.OracleDriver" }, new
String[] { "java.lang.String",
"java.lang.Class", "java.lang.Object" });
server.invoke(mcfName, "setManagedConnectionFactoryAttribute", new
Object[] { "UserName",
java.lang.String.class, schema }, new String[] {
"java.lang.String", "java.lang.Class",
"java.lang.Object" });
server.invoke(mcfName, "setManagedConnectionFactoryAttribute", new
Object[] { "Password",
java.lang.String.class, rs.getString(PASS) }, new String[] {
"java.lang.String", "java.lang.Class",
"java.lang.Object" });
// start the pool
server.invoke(serviceControllerName, "create", new Object[] { mcpName
},
new String[] { "javax.management.ObjectName" });
server.invoke(serviceControllerName, "start", new Object[] { mcpName },
new String[] { "javax.management.ObjectName" });
// assertTrue("State is not started",
"Started".equals(getServer().getAttribute(mcpName, "StateString")));
// start the ConnectionManager
server.invoke(serviceControllerName, "create", new Object[] { cmName },
new String[] { "javax.management.ObjectName" });
server.invoke(serviceControllerName, "start", new Object[] { cmName },
new String[] { "javax.management.ObjectName" });
//Start the DataSource.
server.invoke(serviceControllerName, "create", new Object[] { dsName },
new String[] { "javax.management.ObjectName" });
server.invoke(serviceControllerName, "start", new Object[] { dsName },
new String[] { "javax.management.ObjectName" });
// Despite having gone through all of the above, we still don't have a handle
// to the dataSource, so get one and return it.
return (getDataSource(schema, false));
// end makeJBossDataSource328
}