We are going to switch to JBoss 3.0.1, but when I configured it I had some trouble with connection pooling. Here is the stack trace that I get when I try to access to the pool with:
dataSource.getConnection( log, pwd );
I attached also my oracle-service.xml. What's wrong?
Thanks in advance
Stefano
[LogInterceptor] Unexpected Error:
java.lang.IllegalAccessError: try to access field oracle/jdbc/driver/OracleStatement.DEFAULT_RSET_TYPE from class oracle/jdbc/driver/OracleConnection
at oracle.jdbc.driver.OracleConnection.privateCreateStatement(OracleConnection.java:599)
at oracle.jdbc.driver.OracleConnection.createStatement(OracleConnection.java:513)
at oracle.jdbc.dbaccess.DBAccess.setNlsParamsClient(DBAccess.java:1165)
at oracle.jdbc.ttc7.TTC7Protocol.initNls(TTC7Protocol.java:1197)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:329)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:442)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:321)
at java.sql.DriverManager.getConnection(DriverManager.java:523)
at java.sql.DriverManager.getConnection(DriverManager.java:152)
at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:133)
at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.createConnection(InternalManagedConnectionPool.java:254)
at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.getConnection(InternalManagedConnectionPool.java:101)
at org.jboss.resource.connectionmanager.JBossManagedConnectionPool$OnePool.getConnection(JBossManagedConnectionPool.java:482)
at org.jboss.resource.connectionmanager.BaseConnectionManager2.getManagedConnection(BaseConnectionManager2.java:467)
at org.jboss.resource.connectionmanager.LocalTxConnectionManager.getManagedConnection(LocalTxConnectionManager.java:221)
at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:532)
at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:812)
at org.jboss.resource.adapter.jdbc.local.LocalDataSource.getConnection(LocalDataSource.java:122)
at it.lince.deoas.singletons.ServiceLocator.getConnectionStandardDS(ServiceLocator.java:66)
at it.lince.deoas.dao.DeOASDAO.openConnection(DeOASDAO.java:91)
at it.lince.deoas.dao.DeOASDAO.<init>(DeOASDAO.java:79)
at it.lince.deoas.sessionController.SessionControllerBean.testPassword(SessionControllerBean.java:138)
at java.lang.reflect.Method.invoke(Native Method)
at org.jboss.ejb.StatefulSessionContainer$ContainerInterceptor.invoke(StatefulSessionContainer.java:817)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:130)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:186)
at org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor.invoke(StatefulSessionInstanceInterceptor.java:266)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:107)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:178)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:60)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:203)
at org.jboss.ejb.StatefulSessionContainer.invoke(StatefulSessionContainer.java:380)
at org.jboss.ejb.Container.invoke(Container.java:711)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:98)
at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:102)
at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:73)
at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:76)
at org.jboss.proxy.ejb.StatefulSessionInterceptor.invoke(StatefulSessionInterceptor.java:117)
at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:76)
at $Proxy519.testPassword(Unknown Source)
at it.lince.deoas.servlets.AbstractServlet.getSessione(AbstractServlet.java:327)
at it.lince.deoas.servlets.AbstractServlet.permessoNegato(AbstractServlet.java:300)
at it.lince.deoas.servlets.AbstractServlet.doGet(AbstractServlet.java:230)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:450)
at org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:180)
--------------- all work and no play makes Jack a dull boy ---------------
bye Stefano [EMAIL PROTECTED] |
<?xml version="1.0" encoding="UTF-8"?> <!-- ===================================================================== --> <!-- --> <!-- JBoss Server Configuration --> <!-- --> <!-- ===================================================================== -->
<server> <!-- ==================================================================== --> <!-- ConnectionManager setup for Oracle dbs --> <!-- Build jmx-api (build/build.sh all) and view for config documentation --> <!-- Thanks to Steven Coy --> <!-- ==================================================================== --> <mbean code="org.jboss.resource.connectionmanager.LocalTxConnectionManager" name="jboss.jca:service=LocalTxCM,name=OracleDB"> <!-- Include a login module configuration named OracleDbRealm. Update your login-conf.xml, here is an example for a ConfiguredIdentityLoginModule: <application-policy name = "OracleDbRealm"> <authentication> <login-module code = "org.jboss.resource.security.ConfiguredIdentityLoginModule" flag = "required"> <module-option name = "principal">yourprincipal</module-option> <module-option name = "userName">yourusername</module-option> <module-option name = "password">yourpassword</module-option> <module-option name = "managedConnectionFactoryName">jboss.jca:service=LocalTxCM,name=OracleDS</module-option> </login-module> </authentication> </application-policy> NOTE: the application-policy name attribute must match SecurityDomainJndiName, and the module-option name = "managedConnectionFactoryName" must match the object name of the ConnectionManager you are configuring here. --> <!--uncomment out this line if you are using the OracleDbRealm above <attribute name="SecurityDomainJndiName">OracleDbRealm</attribute> --> <depends optional-attribute-name="ManagedConnectionFactoryName"> <!--embedded mbean--> <mbean code="org.jboss.resource.connectionmanager.RARDeployment" name="jboss.jca:service=LocalTxDS,name=OracleDB"> <attribute name="JndiName">OracleDB</attribute> <attribute name="ManagedConnectionFactoryProperties"> <properties> <config-property name="ConnectionURL" type="java.lang.String">jdbc:oracle:thin:@192.168.0.124:1521:SVILUPPO</config-property> <config-property name="DriverClass" type="java.lang.String">oracle.jdbc.driver.OracleDriver</config-property> <!--set these only if you want only default logins, not through JAAS --> <config-property name="UserName" type="java.lang.String">lynxowner</config-property> <config-property name="Password" type="java.lang.String">owner</config-property> </properties> </attribute> <!--Below here are advanced properties --> <!--hack--> <depends optional-attribute-name="OldRarDeployment">jboss.jca:service=RARDeployment,name=JBoss LocalTransaction JDBC Wrapper</depends> </mbean> </depends> <depends optional-attribute-name="ManagedConnectionPool"> <!--embedded mbean--> <mbean code="org.jboss.resource.connectionmanager.JBossManagedConnectionPool" name="jboss.jca:service=LocalTxPool,name=OracleDB"> <attribute name="MinSize">1</attribute> <attribute name="MaxSize">20</attribute> <attribute name="IdleTimeoutMinutes">5</attribute> <!--criteria indicates if Subject (from security domain) or app supplied parameters (such as from getConnection(user, pw)) are used to distinguish connections in the pool. Choices are ByContainerAndApplication (use both), ByContainer (use Subject), ByApplication (use app supplied params only), ByNothing (all connections are equivalent, usually if adapter supports reauthentication)--> <attribute name="Criteria">ByNothing</attribute> </mbean> </depends> <depends optional-attribute-name="CachedConnectionManager">jboss.jca:service=CachedConnectionManager</depends> <depends optional-attribute-name="JaasSecurityManagerService">jboss.security:service=JaasSecurityManager</depends> <attribute name="TransactionManager">java:/TransactionManager</attribute> <!--make the rar deploy! hack till better deployment--> <depends>jboss.jca:service=RARDeployer</depends> </mbean> </server>