I would really appreciate an answer to this question.
Background: - We are using Oracle 9i and Weblogic 7- I have an
MDB that receives a message, then in the onMessage(Message)
method performs a findByPrimaryKey(String).
Problem:
The deployment descriptors and the MDB all work fine when I
set them up to query against a Pointbase database and deploy
to Weblogic. Everything worked fine. But this was only a test
to see if everything would work.
I now need to query against anOracle database. I got the updated
version of the Oracle Thin Driver and put it in the
WL_HOME/server/lib/classes12.zip file. I even added it to the
beginning of the classpath in the startWeblogic.cmd file. But am still having
problems.
To test the just the Oracle connection I double checked the
user, password, URL,and driver settings in a java file using
JDBC connections - and they worked fine.They just aren't working
when integrated into Weblogic.
The problem lies in the Weblogic 7 server integration with
Oracle 9i. The softwareintegrated fine when tables from a
Pointbase database were queried. The only changes made have been
to make the connectivity to Oracle.
My errors are in the attached myserver.log file. If anyone knows if this is aknown
problem or what the problem is please let me know.
Just FYI my settings are as follows:
Driver: oracle.jdbc.driver.OracleDriver
URL=jdbc:oracle:thin:@192.168.6.10:1521:proType1
user=protype1
password=protype1
Any advice is welcomed! I've tried everything I can think
of.
Angie
####<Oct 17, 2002 11:16:33 AM EDT> <Warning> <EJB> <SD24> <myserver> <ExecuteThread:
'12' for queue: 'default'> <kernel identity> <> <010065> <MessageDrivenBean threw
an Exception in onMessage(). The exception was:
javax.ejb.EJBException: nested exception is: javax.ejb.FinderException: Problem
in findByPrimaryKey while preparing or executing statement: 'null':
java.sql.SQLException: Cannot obtain connection after 3600 seconds. , Exception
= Access not allowed
java.sql.SQLException: Cannot obtain connection after 3600 seconds. , Exception
= Access not allowed
at weblogic.jdbc.jts.Connection.wrapAndThrowSQLException(Connection.java:694)
at weblogic.jdbc.jts.Connection.getOrCreateConnection(Connection.java:616)
at weblogic.jdbc.jts.Connection.prepareStatement(Connection.java:131)
at weblogic.jdbc.rmi.internal.ConnectionImpl.prepareStatement(ConnectionImpl.java:139)
at weblogic.jdbc.rmi.SerialConnection.prepareStatement(SerialConnection.java:92)
at mil.dss.ccms.service.ei.ejb.entity.EiLeadBean_2evhu8__WebLogic_CMP_RDBMS.ejbFindByPrimaryKey(EiLeadBean_2evhu8__WebLogic_CMP_RDBMS.java:1113)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.findByPrimaryKey(RDBMSPersistenceManager.java:203)
at weblogic.ejb20.manager.BaseEntityManager.findByPrimaryKey(BaseEntityManager.java:500)
at weblogic.ejb20.manager.BaseEntityManager.localFindByPrimaryKey(BaseEntityManager.java:457)
at weblogic.ejb20.internal.EntityEJBLocalHome.findByPrimaryKey(EntityEJBLocalHome.java:275)
at mil.dss.ccms.service.ei.ejb.entity.EiLeadBean_2evhu8_LocalHomeImpl.findByPrimaryKey(EiLeadBean_2evhu8_LocalHomeImpl.java:137)
at mil.dss.ccms.service.ei.ejb.mdb.EiSendingService.onMessage(EiSendingService.java:117)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:356)
at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:290)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:271)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2303)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:2226)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:153)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:134)
>
javax.ejb.EJBException: nested exception is: javax.ejb.FinderException: Problem
in findByPrimaryKey while preparing or executing statement: 'null':
java.sql.SQLException: Cannot obtain connection after 3600 seconds. , Exception
= Access not allowed
java.sql.SQLException: Cannot obtain connection after 3600 seconds. , Exception
= Access not allowed
at weblogic.jdbc.jts.Connection.wrapAndThrowSQLException(Connection.java:694)
at weblogic.jdbc.jts.Connection.getOrCreateConnection(Connection.java:616)
at weblogic.jdbc.jts.Connection.prepareStatement(Connection.java:131)
at weblogic.jdbc.rmi.internal.ConnectionImpl.prepareStatement(ConnectionImpl.java:139)
at weblogic.jdbc.rmi.SerialConnection.prepareStatement(SerialConnection.java:92)
at mil.dss.ccms.service.ei.ejb.entity.EiLeadBean_2evhu8__WebLogic_CMP_RDBMS.ejbFindByPrimaryKey(EiLeadBean_2evhu8__WebLogic_CMP_RDBMS.java:1113)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.findByPrimaryKey(RDBMSPersistenceManager.java:203)
at weblogic.ejb20.manager.BaseEntityManager.findByPrimaryKey(BaseEntityManager.java:500)
at weblogic.ejb20.manager.BaseEntityManager.localFindByPrimaryKey(BaseEntityManager.java:457)
at weblogic.ejb20.internal.EntityEJBLocalHome.findByPrimaryKey(EntityEJBLocalHome.java:275)
at mil.dss.ccms.service.ei.ejb.entity.EiLeadBean_2evhu8_LocalHomeImpl.findByPrimaryKey(EiLeadBean_2evhu8_LocalHomeImpl.java:137)
at mil.dss.ccms.service.ei.ejb.mdb.EiSendingService.onMessage(EiSendingService.java:117)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:356)
at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:290)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:271)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2303)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:2226)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:153)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:134)
javax.ejb.FinderException: Problem in findByPrimaryKey while preparing or executing
statement: 'null':
java.sql.SQLException: Cannot obtain connection after 3600 seconds. , Exception
= Access not allowed
java.sql.SQLException: Cannot obtain connection after 3600 seconds. , Exception
= Access not allowed
at weblogic.jdbc.jts.Connection.wrapAndThrowSQLException(Connection.java:694)
at weblogic.jdbc.jts.Connection.getOrCreateConnection(Connection.java:616)
at weblogic.jdbc.jts.Connection.prepareStatement(Connection.java:131)
at weblogic.jdbc.rmi.internal.ConnectionImpl.prepareStatement(ConnectionImpl.java:139)
at weblogic.jdbc.rmi.SerialConnection.prepareStatement(SerialConnection.java:92)
at mil.dss.ccms.service.ei.ejb.entity.EiLeadBean_2evhu8__WebLogic_CMP_RDBMS.ejbFindByPrimaryKey(EiLeadBean_2evhu8__WebLogic_CMP_RDBMS.java:1113)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.findByPrimaryKey(RDBMSPersistenceManager.java:203)
at weblogic.ejb20.manager.BaseEntityManager.findByPrimaryKey(BaseEntityManager.java:500)
at weblogic.ejb20.manager.BaseEntityManager.localFindByPrimaryKey(BaseEntityManager.java:457)
at weblogic.ejb20.internal.EntityEJBLocalHome.findByPrimaryKey(EntityEJBLocalHome.java:275)
at mil.dss.ccms.service.ei.ejb.entity.EiLeadBean_2evhu8_LocalHomeImpl.findByPrimaryKey(EiLeadBean_2evhu8_LocalHomeImpl.java:137)
at mil.dss.ccms.service.ei.ejb.mdb.EiSendingService.onMessage(EiSendingService.java:117)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:356)
at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:290)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:271)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2303)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:2226)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:153)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:134)
at mil.dss.ccms.service.ei.ejb.entity.EiLeadBean_2evhu8__WebLogic_CMP_RDBMS.ejbFindByPrimaryKey(EiLeadBean_2evhu8__WebLogic_CMP_RDBMS.java:1161)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.findByPrimaryKey(RDBMSPersistenceManager.java:203)
at weblogic.ejb20.manager.BaseEntityManager.findByPrimaryKey(BaseEntityManager.java:500)
at weblogic.ejb20.manager.BaseEntityManager.localFindByPrimaryKey(BaseEntityManager.java:457)
at weblogic.ejb20.internal.EntityEJBLocalHome.findByPrimaryKey(EntityEJBLocalHome.java:275)
at mil.dss.ccms.service.ei.ejb.entity.EiLeadBean_2evhu8_LocalHomeImpl.findByPrimaryKey(EiLeadBean_2evhu8_LocalHomeImpl.java:137)
at mil.dss.ccms.service.ei.ejb.mdb.EiSendingService.onMessage(EiSendingService.java:117)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:356)
at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:290)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:271)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2303)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:2226)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:153)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:134)
javax.ejb.EJBException: nested exception is: javax.ejb.FinderException: Problem
in findByPrimaryKey while preparing or executing statement: 'null':
java.sql.SQLException: Cannot obtain connection after 3600 seconds. , Exception
= Access not allowed
java.sql.SQLException: Cannot obtain connection after 3600 seconds. , Exception
= Access not allowed
at weblogic.jdbc.jts.Connection.wrapAndThrowSQLException(Connection.java:694)
at weblogic.jdbc.jts.Connection.getOrCreateConnection(Connection.java:616)
at weblogic.jdbc.jts.Connection.prepareStatement(Connection.java:131)
at weblogic.jdbc.rmi.internal.ConnectionImpl.prepareStatement(ConnectionImpl.java:139)
at weblogic.jdbc.rmi.SerialConnection.prepareStatement(SerialConnection.java:92)
at mil.dss.ccms.service.ei.ejb.entity.EiLeadBean_2evhu8__WebLogic_CMP_RDBMS.ejbFindByPrimaryKey(EiLeadBean_2evhu8__WebLogic_CMP_RDBMS.java:1113)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.findByPrimaryKey(RDBMSPersistenceManager.java:203)
at weblogic.ejb20.manager.BaseEntityManager.findByPrimaryKey(BaseEntityManager.java:500)
at weblogic.ejb20.manager.BaseEntityManager.localFindByPrimaryKey(BaseEntityManager.java:457)
at weblogic.ejb20.internal.EntityEJBLocalHome.findByPrimaryKey(EntityEJBLocalHome.java:275)
at mil.dss.ccms.service.ei.ejb.entity.EiLeadBean_2evhu8_LocalHomeImpl.findByPrimaryKey(EiLeadBean_2evhu8_LocalHomeImpl.java:137)
at mil.dss.ccms.service.ei.ejb.mdb.EiSendingService.onMessage(EiSendingService.java:117)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:356)
at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:290)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:271)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2303)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:2226)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:153)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:134)
at mil.dss.ccms.service.ei.ejb.mdb.EiSendingService.onMessage(EiSendingService.java:126)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:356)
at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:290)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:271)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2303)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:2226)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:153)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:134)
####<Oct 17, 2002 11:16:33 AM EDT> <Info> <Deployer> <SD24> <myserver> <ExecuteThread:
'13' for queue: 'default'> <kernel identity> <> <149033> <deactivating application
EIJar on myserver>
The error that I am getting is an SQLException:
Exception = Access not allowed
But when I ran the java utils.dbping it makes the connection
with the connection and driver parameters I enter in the console.
I'm still open to ideas on this! :)
Thanks,
Angie
you can try the following parameters in the FileRealm.properties to set
acl.reserve.weblogic.jdbc.connectionPool.<connectionPool>=everyone
Thomas
Angela Biche schrieb:
After creating the connection pool in Weblogic 7.0 (using the Weblogic console)
right click on the connection pool and select "Define Policy", select "Default
Authorizer", then enter "Caller is a member of the group everyone" and apply.
That takes care of the problem... didn't happen in Weblogic 6.1
thanks again,
Scott