Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Problem integrating Oracle 9i, Weblogic 7, and MDBs

5 views
Skip to first unread message

Angela Biche

unread,
Oct 17, 2002, 12:26:54 PM10/17/02
to

All:


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>

Angela Biche

unread,
Oct 18, 2002, 2:33:24 PM10/18/02
to

Thanks, I set the initial pool count to 2 and have up to 10
connections (for this testing). Unfortunately it hasn't helped
any.


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

sigi

unread,
Oct 24, 2002, 1:36:22 AM10/24/02
to
Hi Angela

you can try the following parameters in the FileRealm.properties to set

acl.reserve.weblogic.jdbc.connectionPool.<connectionPool>=everyone

Thomas


Angela Biche schrieb:

Angela Biche

unread,
Oct 29, 2002, 11:24:03 AM10/29/02
to

Just in case anyone needs this in the future....

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

Scott Williams

unread,
Feb 7, 2003, 7:11:55 PM2/7/03
to

Thank you very much for supplying the answer to your problem. I had the same problem
and your response saved me lotso' time.

thanks again,

Scott

0 new messages