[
https://issues.apache.org/jira/browse/ODE-353?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12619563#action_12619563
]
Rafal Rusin commented on ODE-353:
---------------------------------
When I used
<entry key="java:comp/env/jdbc/ode12">
<bean class="oracle.jdbc.pool.OracleConnectionPoolDataSource"
destroy-method="close">
<property name="URL" value="jdbc:oracle:thin:@localhost:1521:XE"/>
<property name="user" value="ode"/>
<property name="password" value="ode"/>
</bean>
</entry>
in jndi.xml, I got a following exception after sending a first request:
ERROR - OdeConsumer - error delivering RESPONSE:
<openjpa-1.1.0-r422266:659716 nonfatal general error>
org.apache.openjpa.persistence.PersistenceException: Listener refused the
connection with the following error:
ORA-12519, TNS:no appropriate service handler found
The Connection descriptor used by the client was:
localhost:1521:XE
at
org.apache.openjpa.jdbc.sql.SQLExceptions.narrow(SQLExceptions.java:146)
at
org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4150)
at
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:102)
at
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:88)
at
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:64)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.connect(JDBCStoreManager.java:762)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.getConnection(JDBCStoreManager.java:215)
at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:349)
at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:319)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.getInitializeStateResult(JDBCStoreManager.java:411)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initializeState(JDBCStoreManager.java:307)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initialize(JDBCStoreManager.java:263)
at
org.apache.openjpa.kernel.DelegatingStoreManager.initialize(DelegatingStoreManager.java:111)
at
org.apache.openjpa.kernel.ROPStoreManager.initialize(ROPStoreManager.java:57)
at org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java:894)
at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:852)
at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:769)
at
org.apache.openjpa.kernel.DelegatingBroker.find(DelegatingBroker.java:183)
at
org.apache.openjpa.persistence.EntityManagerImpl.find(EntityManagerImpl.java:452)
at
org.apache.ode.dao.jpa.BPELDAOConnectionImpl.getMessageExchange(BPELDAOConnectionImpl.java:297)
at
org.apache.ode.bpel.engine.BpelEngineImpl.getMessageExchange(BpelEngineImpl.java:140)
at org.apache.ode.jbi.OdeConsumer$4.call(OdeConsumer.java:206)
at org.apache.ode.jbi.OdeConsumer$4.call(OdeConsumer.java:204)
at
org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:174)
at org.apache.ode.jbi.OdeConsumer.outResponse(OdeConsumer.java:202)
at
org.apache.ode.jbi.OdeConsumer.onJbiMessageExchange(OdeConsumer.java:160)
at
org.apache.ode.jbi.JbiMessageExchangeEventRouter.onJbiMessageExchange(JbiMessageExchangeEventRouter.java:44)
at org.apache.ode.jbi.Receiver$1.run(Receiver.java:179)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
at java.util.concurrent.FutureTask.run(FutureTask.java:123)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.sql.SQLException: Listener refused the connection with the
following error:
ORA-12519, TNS:no appropriate service handler found
The Connection descriptor used by the client was:
localhost:1521:XE
at
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:261)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387)
at
oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:441)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
at
oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
at
oracle.jdbc.pool.OracleDataSource.getPhysicalConnection(OracleDataSource.java:297)
at
oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:221)
at
oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:165)
at
org.apache.openjpa.lib.jdbc.DelegatingDataSource.getConnection(DelegatingDataSource.java:106)
at
org.apache.openjpa.lib.jdbc.DecoratingDataSource.getConnection(DecoratingDataSource.java:87)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.connectInternal(JDBCStoreManager.java:773)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.connect(JDBCStoreManager.java:758)
... 28 more
> Can't run ODE with Oracle and internal connection pool or external jencks
> pool.
> -------------------------------------------------------------------------------
>
> Key: ODE-353
> URL: https://issues.apache.org/jira/browse/ODE-353
> Project: ODE
> Issue Type: Bug
> Components: JBI Integration
> Affects Versions: 1.2
> Environment: Servicemix 3.2.1
> Reporter: Rafal Rusin
>
> During startup I have a dead lock with a following stack trace:
> Thread [pool-4-thread-1] (Suspended)
> SocketInputStream.socketRead0(FileDescriptor, byte[], int, int, int)
> line: not available [native method]
> SocketInputStream.read(byte[], int, int) line: 129
> DataPacket(Packet).receive() line: not available
> DataPacket.receive() line: not available
> NetInputStream.getNextPacket() line: not available
> NetInputStream.read(byte[], int, int) line: not available
> NetInputStream.read(byte[]) line: not available
> NetInputStream.read() line: not available
> T4CMAREngine.unmarshalUB1() line: 1104
> T4CMAREngine.unmarshalSB1() line: 1075
> T4C8Oall.receive() line: 480
> T4CPreparedStatement.doOall8(boolean, boolean, boolean, boolean) line:
> 219
> T4CPreparedStatement.executeForDescribe() line: 813
> T4CPreparedStatement(OracleStatement).executeMaybeDescribe() line: 1049
> T4CPreparedStatement.executeMaybeDescribe() line: 854
> T4CPreparedStatement(OracleStatement).doExecuteWithTimeout() line: 1154
> T4CPreparedStatement(OraclePreparedStatement).executeInternal() line:
> 3370
> T4CPreparedStatement(OraclePreparedStatement).executeQuery() line: 3415
> PreparedStatementHandle.executeQuery() line: 49
>
> LoggingConnectionDecorator$LoggingConnection$LoggingPreparedStatement(DelegatingPreparedStatement).executeQuery(boolean)
> line: 264
>
> LoggingConnectionDecorator$LoggingConnection$LoggingPreparedStatement.executeQuery(boolean)
> line: 850
>
> JDBCStoreManager$CancelPreparedStatement(DelegatingPreparedStatement).executeQuery(boolean)
> line: 262
> JDBCStoreManager$CancelPreparedStatement.executeQuery(boolean) line:
> 1407
>
> JDBCStoreManager$CancelPreparedStatement(DelegatingPreparedStatement).executeQuery()
> line: 252
> TableJDBCSeq.executeQuery(JDBCConfiguration, Connection,
> PreparedStatement, SQLBuffer) line: 728
> TableJDBCSeq.getSequence(ClassMapping, Connection) line: 470
> TableJDBCSeq.setSequence(ClassMapping, TableJDBCSeq$Status, int,
> boolean, Connection) line: 510
> TableJDBCSeq.allocateSequence(JDBCStore, ClassMapping,
> TableJDBCSeq$Status, int, boolean) line: 368
> TableJDBCSeq.nextInternal(JDBCStore, ClassMapping) line: 266
> TableJDBCSeq(AbstractJDBCSeq).next(StoreContext, ClassMetaData) line:
> 60
> ImplHelper.generateValue(StoreContext, ClassMetaData, FieldMetaData,
> int) line: 160
> ImplHelper.generateFieldValue(StoreContext, FieldMetaData) line: 144
> JDBCStoreManager.assignField(OpenJPAStateManager, int, boolean) line:
> 592
> ApplicationIds.assign(OpenJPAStateManager, StoreManager,
> FieldMetaData[], boolean) line: 464
> ApplicationIds.assign(OpenJPAStateManager, StoreManager, boolean) line:
> 440
> JDBCStoreManager.assignObjectId(OpenJPAStateManager, boolean) line: 576
>
> ROPStoreManager(DelegatingStoreManager).assignObjectId(OpenJPAStateManager,
> boolean) line: 134
> StateManagerImpl.assignObjectId(boolean, boolean) line: 517
> StateManagerImpl.preFlush(boolean, OpCallbacks) line: 2814
> PNewState.beforeFlush(StateManagerImpl, boolean, OpCallbacks) line: 39
> StateManagerImpl.beforeFlush(int, OpCallbacks) line: 957
> FinalizingBrokerImpl(BrokerImpl).flush(int) line: 1945
> FinalizingBrokerImpl(BrokerImpl).flushSafe(int) line: 1905
> FinalizingBrokerImpl(BrokerImpl).beforeCompletion() line: 1823
> TransactionImpl.beforeCompletion(List) line: 514
> TransactionImpl.beforeCompletion() line: 498
> TransactionImpl.beforePrepare() line: 400
> TransactionImpl.commit() line: 257
> GeronimoPlatformTransactionManager(TransactionManagerImpl).commit()
> line: 238
> SimpleScheduler.execTransaction(Callable<T>) line: 181
> SimpleScheduler$1.call() line: 155
> FutureTask$Sync.innerRun() line: 269
> FutureTask<V>.run() line: 123
> ThreadPoolExecutor$Worker.runTask(Runnable) line: 650
> ThreadPoolExecutor$Worker.run() line: 675
> Thread.run() line: 595
> On a following query:
> SELECT SEQUENCE_VALUE FROM OPENJPA_SEQUENCE_TABLE WHERE ID = :1 FOR UPDATE
> As I saw logs, I notices that OpenJPA starts twice (maybe that's the issue):
> 10:34:49,697 | INFO | ProcessStoreImpl-1 | Runtime |
> log.Log4JLogFactory$LogAdapter 80 | Starting OpenJPA 1.1.0
> 10:34:49,940 | INFO | ProcessStoreImpl-1 | JDBC |
> log.Log4JLogFactory$LogAdapter 80 | Using dictionary class
> "org.apache.openjpa.jdbc.sql.OracleDictionary" (Oracle Oracle Database 10g
> Express Edition Release 10.2.0.1.0 - Production ,Oracle JDBC driver
> 10.2.0.4.0).
> 10:35:24,488 | INFO | pool-4-thread-1 | Runtime |
> log.Log4JLogFactory$LogAdapter 80 | Starting OpenJPA 1.1.0
> 10:35:24,490 | INFO | pool-4-thread-1 | JDBC |
> log.Log4JLogFactory$LogAdapter 80 | Using dictionary class
> "org.apache.openjpa.jdbc.sql.OracleDictionary" (Oracle Oracle Database 10g
> Express Edition Release 10.2.0.1.0 - Production ,Oracle JDBC driver
> 10.2.0.4.0).
> Can you give me some suggestions about possible fix?
> Regards
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.