Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » EclipseLink » Unsupported Driver.getClientInfo() operation when Eclipselink 2.0.0 accesses TimesTen 11.2.1(Unable to get ClientInfo for connection java.sql.SQLException: Driver does not support this function at com.timesten.jdbc.JdbcOdbcConnection.getClientInfo(JdbcOdbcConnection.java:2526) for EclipseLin)
Unsupported Driver.getClientInfo() operation when Eclipselink 2.0.0 accesses TimesTen 11.2.1 [message #520687] Sun, 14 March 2010 07:40 Go to next message
Max WF Poon is currently offline Max WF Poon
Messages: 16
Registered: July 2009
Junior Member
According to http://wiki.eclipse.org/Using_EclipseLink_JPA_Extensions_(ELUG), TimesTen is supported with EclipseLink 2.0. However, I tried to configure EclipseLinki 2.0 to access TimesTen 11.2.1 (on Glassfish v3, Sun JDK6u17 and WindowsXP) with the following persistence.xml :-

<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="memoryDB_AppPU" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider >
<jta-data-source>jdbc/TimesTenXADB</jta-data-source>
<class>persistenceApp.entities.ManufacturerInMemory</class >
<class>persistenceApp.entities.ProductInMemory</class>
<class>persistenceApp.entities.ProductCodeInMemory</class>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="eclipselink.target-database" value="TimesTen"/>
<property name="eclipselink.target-server" value="SunAS9"/>
<property name="eclipselink.logging.level" value="ALL"/>
</properties>
</persistence-unit>
</persistence>

------------------------------------------------------------

Glassfish v3 configurations for TimesTen DataSources (both not working for above) include:

Non-XA
- DataSource: jdbc/TimeTenDB
- JNDI Name: TimesTenPool
- Resource Type: javax.sql.ConnectionPoolDataSource
- Resource ClassName: com.timesten.jdbc.ObservableConnectionDS

XA
- DataSource: jdbc/TimeTenXADB
- JNDI Name: TimesTenXAPool
- Resource Type: javax.sql.XADataSource
- Resource ClassName: com.timesten.jdbc.xa.TimesTenXADataSource

------------------------------------------------------------

But got the following exception during EclipseLink JPA access to TimesTen (other earlier JDBC access to TimesTen were successfully executed) which seems to show that there are operations that may not be supported with TimesTen (but tested to be ok with other IMDB such as Apache Derby).

Are these configurations ok at least on EclipseLink part? Did I miss anything? Any advice? Thanks.

------------------------------------------------------------

Glasfish server log as follows
----------------------------------------
INFO: EclipseLink, version: Eclipse Persistence Services - 2.0.0.v20091127-r5931
WARNING: RAR7114: Unable to get ClientInfo for connection
java.sql.SQLException: Driver does not support this function
at com.timesten.jdbc.JdbcOdbcConnection.getClientInfo(JdbcOdbcC onnection.java:2526)
at com.timesten.jdbc.ProxyConnection.getClientInfo(ProxyConnect ion.java:744)
at com.sun.gjc.spi.jdbc40.ConnectionHolder40.getClientInfo(Conn ectionHolder40.java:362)
at com.sun.gjc.spi.jdbc40.ConnectionHolder40.init(ConnectionHol der40.java:90)
at com.sun.gjc.spi.jdbc40.ConnectionHolder40.<init>(ConnectionHolder40.java:81)
at com.sun.gjc.spi.jdbc40.ConnectionWrapper40.<init>(ConnectionWrapper40.java:60)
at com.sun.gjc.spi.jdbc40.Jdbc40ObjectsFactory.getConnection(Jd bc40ObjectsFactory.java:86)
at com.sun.gjc.spi.ManagedConnection.getConnection(ManagedConne ction.java:397)
at com.sun.enterprise.resource.allocator.ConnectorAllocator.fil lInResourceObjects(ConnectorAllocator.java:168)
at com.sun.enterprise.resource.pool.ConnectionPool.getResource( ConnectionPool.java:423)
at com.sun.enterprise.resource.pool.PoolManagerImpl.getResource FromPool(PoolManagerImpl.java:227)
at com.sun.enterprise.resource.pool.PoolManagerImpl.getResource (PoolManagerImpl.java:151)
at com.sun.enterprise.connectors.ConnectionManagerImpl.getResou rce(ConnectionManagerImpl.java:315)
at com.sun.enterprise.connectors.ConnectionManagerImpl.internal GetConnection(ConnectionManagerImpl.java:280)
at com.sun.enterprise.connectors.ConnectionManagerImpl.allocate Connection(ConnectionManagerImpl.java:172)
at com.sun.enterprise.connectors.ConnectionManagerImpl.allocate Connection(ConnectionManagerImpl.java:149)
at com.sun.enterprise.connectors.ConnectionManagerImpl.allocate Connection(ConnectionManagerImpl.java:144)
at com.sun.gjc.spi.base.DataSource.getConnection(DataSource.jav a:105)
at org.eclipse.persistence.sessions.JNDIConnector.connect(JNDIC onnector.java:126)
at org.eclipse.persistence.sessions.JNDIConnector.connect(JNDIC onnector.java:94)
at org.eclipse.persistence.sessions.DatasourceLogin.connectToDa tasource(DatasourceLogin.java:162)
at org.eclipse.persistence.internal.databaseaccess.DatasourceAc cessor.connectInternal(DatasourceAccessor.java:327)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAcce ssor.connectInternal(DatabaseAccessor.java:294)
at org.eclipse.persistence.internal.databaseaccess.DatasourceAc cessor.connect(DatasourceAccessor.java:415)
at org.eclipse.persistence.sessions.server.ConnectionPool.build Connection(ConnectionPool.java:155)
at org.eclipse.persistence.sessions.server.ExternalConnectionPo ol.startUp(ExternalConnectionPool.java:118)
at org.eclipse.persistence.sessions.server.ServerSession.connec t(ServerSession.java:495)
at org.eclipse.persistence.internal.sessions.DatabaseSessionImp l.login(DatabaseSessionImpl.java:632)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryPro vider.login(EntityManagerFactoryProvider.java:230)
at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl. deploy(EntityManagerSetupImpl.java:368)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImp l.getServerSession(EntityManagerFactoryImpl.java:151)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImp l.createEntityManagerImpl(EntityManagerFactoryImpl.java:207)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImp l.createEntityManager(EntityManagerFactoryImpl.java:195)
at org.glassfish.persistence.jpa.PersistenceUnitLoader.doJava2D B(PersistenceUnitLoader.java:273)
at org.glassfish.persistence.jpa.JPADeployer.load(JPADeployer.j ava:155)
at org.glassfish.persistence.jpa.JPADeployer.load(JPADeployer.j ava:55)
at org.glassfish.internal.data.ModuleInfo.load(ModuleInfo.java: 175)
at org.glassfish.internal.data.ApplicationInfo.load(Application Info.java:216)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(App licationLifecycle.java:338)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(App licationLifecycle.java:183)
at org.glassfish.deployment.admin.DeployCommand.execute(DeployC ommand.java:272)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(Comm andRunnerImpl.java:305)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(Comm andRunnerImpl.java:320)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(Comm andRunnerImpl.java:1176)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$900(Com mandRunnerImpl.java:83)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionConte xt.execute(CommandRunnerImpl.java:1235)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionConte xt.execute(CommandRunnerImpl.java:1224)
at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdap ter.java:365)
at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapte r.java:204)
at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAda pter.java:166)
at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispat cher.java:100)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service( ContainerMapper.java:245)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTa sk.java:791)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.j ava:693)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.jav a:954)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultPr otocolFilter.java:170)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(D efaultProtocolChain.java:135)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocol Chain.java:102)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocol Chain.java:88)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolC hain.java:76)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChai nContextTask.java:53)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyCon textTask.java:57)
at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(Abstra ctThreadPool.java:330)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractT hreadPool.java:309)
at java.lang.Thread.run(Thread.java:619)

WARNING: RAR7115: Unable to set ClientInfo for connection
java.sql.SQLClientInfoException: Driver does not support this function
at com.timesten.jdbc.JdbcOdbcConnection.setClientInfo(JdbcOdbcC onnection.java:2549)
at com.timesten.jdbc.ProxyConnection.setClientInfo(ProxyConnect ion.java:772)
at com.sun.gjc.spi.jdbc40.ConnectionHolder40.setClientInfo(Conn ectionHolder40.java:313)
at com.sun.gjc.spi.jdbc40.ConnectionHolder40.close(ConnectionHo lder40.java:519)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAcce ssor.closeDatasourceConnection(DatabaseAccessor.java:467)
at org.eclipse.persistence.internal.databaseaccess.DatasourceAc cessor.closeConnection(DatasourceAccessor.java:498)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAcce ssor.closeConnection(DatabaseAccessor.java:490)
at org.eclipse.persistence.internal.databaseaccess.DatasourceAc cessor.decrementCallCount(DatasourceAccessor.java:271)
at org.eclipse.persistence.internal.databaseaccess.DatasourceAc cessor.connect(DatasourceAccessor.java:427)
at org.eclipse.persistence.sessions.server.ConnectionPool.build Connection(ConnectionPool.java:155)
at org.eclipse.persistence.sessions.server.ExternalConnectionPo ol.startUp(ExternalConnectionPool.java:118)
at org.eclipse.persistence.sessions.server.ServerSession.connec t(ServerSession.java:495)
at org.eclipse.persistence.internal.sessions.DatabaseSessionImp l.login(DatabaseSessionImpl.java:632)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryPro vider.login(EntityManagerFactoryProvider.java:230)
at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl. deploy(EntityManagerSetupImpl.java:368)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImp l.getServerSession(EntityManagerFactoryImpl.java:151)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImp l.createEntityManagerImpl(EntityManagerFactoryImpl.java:207)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImp l.createEntityManager(EntityManagerFactoryImpl.java:195)
at org.glassfish.persistence.jpa.PersistenceUnitLoader.doJava2D B(PersistenceUnitLoader.java:273)
at org.glassfish.persistence.jpa.JPADeployer.load(JPADeployer.j ava:155)
at org.glassfish.persistence.jpa.JPADeployer.load(JPADeployer.j ava:55)
at org.glassfish.internal.data.ModuleInfo.load(ModuleInfo.java: 175)
at org.glassfish.internal.data.ApplicationInfo.load(Application Info.java:216)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(App licationLifecycle.java:338)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(App licationLifecycle.java:183)
at org.glassfish.deployment.admin.DeployCommand.execute(DeployC ommand.java:272)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(Comm andRunnerImpl.java:305)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(Comm andRunnerImpl.java:320)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(Comm andRunnerImpl.java:1176)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$900(Com mandRunnerImpl.java:83)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionConte xt.execute(CommandRunnerImpl.java:1235)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionConte xt.execute(CommandRunnerImpl.java:1224)
at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdap ter.java:365)
at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapte r.java:204)
at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAda pter.java:166)
at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispat cher.java:100)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service( ContainerMapper.java:245)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTa sk.java:791)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.j ava:693)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.jav a:954)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultPr otocolFilter.java:170)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(D efaultProtocolChain.java:135)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocol Chain.java:102)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocol Chain.java:88)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolC hain.java:76)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChai nContextTask.java:53)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyCon textTask.java:57)
at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(Abstra ctThreadPool.java:330)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractT hreadPool.java:309)
at java.lang.Thread.run(Thread.java:619)

[Updated on: Sun, 14 March 2010 09:04]

Report message to a moderator

Re: Unsupported Driver.getClientInfo() operation when Eclipselink 2.0.0 accesses TimesTen 11.2.1 [message #522432 is a reply to message #520687] Mon, 22 March 2010 11:49 Go to previous messageGo to next message
James Sutherland is currently offline James Sutherland
Messages: 1939
Registered: July 2009
Location: Ottawa, Canada
Senior Member

From the stack this is failing in Glassfish, not EclipseLink. Perhaps post on the Glassfish forum.

As a workaround, you can use EclipseLink connection pooling, instead of Glassfish's connection pool.


James : Wiki : Book : Blog : Twitter
Re: Unsupported Driver.getClientInfo() operation when Eclipselink 2.0.0 accesses TimesTen 11.2.1 [message #523002 is a reply to message #522432] Wed, 24 March 2010 13:50 Go to previous message
Max WF Poon is currently offline Max WF Poon
Messages: 16
Registered: July 2009
Junior Member
The problem is resolved. Refer to posts on http://forums.oracle.com/forums/message.jspa?messageID=41701 02 . Thanks.
Previous Topic:How to handle Oracle Store Procedure call with Oracle Types as input or output using EclipseLink
Next Topic:false but not true
Goto Forum:
  


Current Time: Wed Jul 30 07:12:29 EDT 2014

Powered by FUDForum. Page generated in 0.03831 seconds