[ 
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.

Reply via email to