You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomee.apache.org by drieselliott <dr...@xt-i.com> on 2014/09/09 08:19:16 UTC

Oracle XA datasource configuration

Hi,

According to http://tomee.apache.org/common-datasource-configurations.html
adding an Oracle XA datasource should be as simple as appending the
following configuration to your tomee.xml:

  <Resource id="jdbc/OracleNarDs" type="DataSource">
    JdbcDriver            oracle.jdbc.xa.client.OracleXADataSource
    JdbcUrl               jdbc:oracle:thin:@****:1521:****
    UserName              ******
    Password              ******
    MaxIdle               10
    MaxActive             20
    ValidationQuery       SELECT 1 FROM DUAL
  </Resource>

When I add this configuration and start my server, I see the following lines
printed in my logs:

2014-09-09 08:11:40,333 INFO  [OpenEJB.startup.service][ | ] Creating
Resource(id=jdbc/OracleNarDs)
2014-09-09 08:11:40,540 WARN  [OpenEJB.startup.service][ | ] Property
"JdbcUrl" not supported by "jdbc/OracleNarDs"
2014-09-09 08:11:40,540 WARN  [OpenEJB.startup.service][ | ] Property
"UserName" not supported by "jdbc/OracleNarDs"
2014-09-09 08:11:40,540 WARN  [OpenEJB.startup.service][ | ] Property
"Password" not supported by "jdbc/OracleNarDs"
2014-09-09 08:11:40,540 WARN  [OpenEJB.startup.service][ | ] Property
"PasswordCipher" not supported by "jdbc/OracleNarDs"
2014-09-09 08:11:40,540 WARN  [OpenEJB.startup.service][ | ] Property
"ConnectionProperties" not supported by "jdbc/OracleNarDs"
2014-09-09 08:11:40,540 WARN  [OpenEJB.startup.service][ | ] Property
"DefaultAutoCommit" not supported by "jdbc/OracleNarDs"
2014-09-09 08:11:40,540 WARN  [OpenEJB.startup.service][ | ] Property
"DefaultReadOnly" not supported by "jdbc/OracleNarDs"
2014-09-09 08:11:40,540 WARN  [OpenEJB.startup.service][ | ] Property
"InitialSize" not supported by "jdbc/OracleNarDs"
2014-09-09 08:11:40,540 WARN  [OpenEJB.startup.service][ | ] Property
"MaxActive" not supported by "jdbc/OracleNarDs"
2014-09-09 08:11:40,540 WARN  [OpenEJB.startup.service][ | ] Property
"MaxIdle" not supported by "jdbc/OracleNarDs"
2014-09-09 08:11:40,541 WARN  [OpenEJB.startup.service][ | ] Property
"MinIdle" not supported by "jdbc/OracleNarDs"
2014-09-09 08:11:40,541 WARN  [OpenEJB.startup.service][ | ] Property
"ValidationQuery" not supported by "jdbc/OracleNarDs"
2014-09-09 08:11:40,541 WARN  [OpenEJB.startup.service][ | ] Property
"TestOnBorrow" not supported by "jdbc/OracleNarDs"
2014-09-09 08:11:40,541 WARN  [OpenEJB.startup.service][ | ] Property
"TestOnReturn" not supported by "jdbc/OracleNarDs"
2014-09-09 08:11:40,541 WARN  [OpenEJB.startup.service][ | ] Property
"TestWhileIdle" not supported by "jdbc/OracleNarDs"
2014-09-09 08:11:40,541 WARN  [OpenEJB.startup.service][ | ] Property
"NumTestsPerEvictionRun" not supported by "jdbc/OracleNarDs"
2014-09-09 08:11:40,541 WARN  [OpenEJB.startup.service][ | ] Property
"PoolPreparedStatements" not supported by "jdbc/OracleNarDs"
2014-09-09 08:11:40,541 WARN  [OpenEJB.startup.service][ | ] Property
"MaxOpenPreparedStatements" not supported by "jdbc/OracleNarDs"
2014-09-09 08:11:40,541 WARN  [OpenEJB.startup.service][ | ] Property
"AccessToUnderlyingConnectionAllowed" not supported by "jdbc/OracleNarDs"

Has anyone else encountered this issue before?

Kind regards,

Dries Elliott



--
View this message in context: http://tomee-openejb.979440.n4.nabble.com/Oracle-XA-datasource-configuration-tp4671692.html
Sent from the TomEE Users mailing list archive at Nabble.com.

Re: Oracle XA datasource configuration

Posted by drieselliott <dr...@xt-i.com>.
Hi,

It would be nice if the documentation was updated to reflect this. Thank you
for the help though.

Kind regards,

Dries Elliott



--
View this message in context: http://tomee-openejb.979440.n4.nabble.com/Oracle-XA-datasource-configuration-tp4671692p4671700.html
Sent from the TomEE Users mailing list archive at Nabble.com.

Re: Oracle XA datasource configuration

Posted by Romain Manni-Bucau <rm...@gmail.com>.
This config depend the implementation of the XA underlying datasource.
For MySQL it is needed in the XA datasource, seems for oracle that's
the pool


Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau


2014-09-09 10:18 GMT+02:00 drieselliott <dr...@xt-i.com>:
> Hi,
>
> Thanks, I had to make another small change, but I got it to work using the
> configuration below:
>
>   <Resource id="jdbc/OracleNarDs" type="DataSource">
>     XaDataSource        jdbc/OracleNarDsXa
>     DataSourceCreator   dbcp
>     MaxIdle             10
>     MaxActive           20
>     ValidationQuery     SELECT 1 FROM DUAL
>     Username            ****
>     Password            ****
>   </Resource>
>
>   <Resource id="jdbc/OracleNarDsXa"
> class-name="oracle.jdbc.xa.client.OracleXADataSource">
>     Url                 jdbc:oracle:thin:@****:1521:****
>   </Resource>
>
> It seems I had to move the username and password properties from
> OracleNarDsXa to OracleNarDS. I have no idea why that was necessary, but it
> seems to have done the job.
>
> Kind regards,
>
> Dries Elliott
>
>
>
> --
> View this message in context: http://tomee-openejb.979440.n4.nabble.com/Oracle-XA-datasource-configuration-tp4671692p4671698.html
> Sent from the TomEE Users mailing list archive at Nabble.com.

Re: Oracle XA datasource configuration

Posted by drieselliott <dr...@xt-i.com>.
Hi,

Thanks, I had to make another small change, but I got it to work using the
configuration below:

  <Resource id="jdbc/OracleNarDs" type="DataSource">
    XaDataSource        jdbc/OracleNarDsXa
    DataSourceCreator   dbcp
    MaxIdle             10
    MaxActive           20
    ValidationQuery     SELECT 1 FROM DUAL
    Username            ****
    Password            ****
  </Resource>

  <Resource id="jdbc/OracleNarDsXa"
class-name="oracle.jdbc.xa.client.OracleXADataSource">
    Url                 jdbc:oracle:thin:@****:1521:****
  </Resource>

It seems I had to move the username and password properties from
OracleNarDsXa to OracleNarDS. I have no idea why that was necessary, but it
seems to have done the job.

Kind regards,

Dries Elliott



--
View this message in context: http://tomee-openejb.979440.n4.nabble.com/Oracle-XA-datasource-configuration-tp4671692p4671698.html
Sent from the TomEE Users mailing list archive at Nabble.com.

Re: Oracle XA datasource configuration

Posted by Romain Manni-Bucau <rm...@gmail.com>.
I think you miss some config of OracleXADataSource

you can use all properties which have a setter

just guessing but since there is getURL I guess you should use url
instead of JdbcUrl on the xa datasource. Also remove
type="XADataSource" (using class-name makes it useless and it can
conflict with some internal default in your case)


Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau


2014-09-09 9:55 GMT+02:00 drieselliott <dr...@xt-i.com>:
> Hi,
>
> I'm using version 1.7.0.
>
> When I change the DataSourceCreator to dbcp I get the following stacktrace:
>
> java.sql.SQLException: Failed to create DataSource
>         at
> org.apache.openejb.resource.jdbc.dbcp.BasicDataSource.toSQLException(BasicDataSource.java:274)
>         at
> org.apache.openejb.resource.jdbc.dbcp.BasicManagedDataSource.createDataSource(BasicManagedDataSource.java:249)
>         at
> org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
>         at
> org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider.getConnection(InjectedDataSourceConnectionProvider.java:46)
>         at
> org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:111)
>         at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2101)
>         at
> org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1325)
>         at
> org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
>         at
> org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669)
>         at
> org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:132)
>         at
> org.apache.openejb.assembler.classic.EntityManagerFactoryCallable.call(EntityManagerFactoryCallable.java:56)
>         at
> org.apache.openejb.assembler.classic.ReloadableEntityManagerFactory.createDelegate(ReloadableEntityManagerFactory.java:116)
>         at
> org.apache.openejb.assembler.classic.ReloadableEntityManagerFactory.<init>(ReloadableEntityManagerFactory.java:102)
>         at
> org.apache.openejb.assembler.classic.PersistenceBuilder.createEntityManagerFactory(PersistenceBuilder.java:151)
>         at
> org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:750)
>         at
> org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:623)
>         at
> org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1248)
>         at
> org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1087)
>         at
> org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:130)
>         at
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
>         at
> org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
>         at
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5378)
>         at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
>         at
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
>         at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
>         at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649)
>         at
> org.apache.tomee.catalina.TomcatWebAppBuilder.deployWar(TomcatWebAppBuilder.java:648)
>         at
> org.apache.tomee.catalina.TomcatWebAppBuilder.deployWebApps(TomcatWebAppBuilder.java:618)
>         at
> org.apache.tomee.catalina.deployment.TomcatWebappDeployer.deploy(TomcatWebappDeployer.java:43)
>         at org.apache.openejb.assembler.DeployerEjb.deploy(DeployerEjb.java:175)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:192)
>         at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:173)
>         at
> org.apache.openejb.security.internal.InternalSecurityInterceptor.invoke(InternalSecurityInterceptor.java:35)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:192)
>         at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:173)
>         at
> org.apache.openejb.monitoring.StatsInterceptor.record(StatsInterceptor.java:181)
>         at
> org.apache.openejb.monitoring.StatsInterceptor.invoke(StatsInterceptor.java:100)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:192)
>         at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:173)
>         at
> org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:85)
>         at
> org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:227)
>         at
> org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:194)
>         at
> org.apache.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:370)
>         at
> org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:181)
>         at
> org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:344)
>         at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:240)
>         at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:86)
>         at
> org.apache.openejb.server.httpd.ServerServlet.service(ServerServlet.java:58)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>         at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
>         at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
>         at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:44)
>         at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>         at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
>         at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
>         at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
>         at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>         at
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
>         at
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
>         at
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>         at
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>         at java.lang.Thread.run(Thread.java:662)
> Caused by: java.lang.reflect.UndeclaredThrowableException
>         at $Proxy66.getXAConnection(Unknown Source)
>         at
> org.apache.commons.dbcp.managed.DataSourceXAConnectionFactory.createConnection(DataSourceXAConnectionFactory.java:103)
>         at
> org.apache.commons.dbcp.managed.PoolableManagedConnectionFactory.makeObject(PoolableManagedConnectionFactory.java:103)
>         at
> org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)
>         at
> org.apache.commons.dbcp.managed.BasicManagedDataSource.createPoolableConnectionFactory(BasicManagedDataSource.java:196)
>         at
> org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
>         at
> org.apache.openejb.resource.jdbc.dbcp.BasicManagedDataSource.createDataSource(BasicManagedDataSource.java:247)
>         ... 76 more
> Caused by: java.lang.reflect.InvocationTargetException
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at
> org.apache.openejb.resource.jdbc.pool.XADataSourceResource$LazyXADataSourceHandler.invoke(XADataSourceResource.java:58)
>         ... 83 more
> Caused by: java.sql.SQLException: Ongeldige Oracle-URL opgegeven.:
> OracleDataSource.makeURL
>         at oracle.jdbc.pool.OracleDataSource.makeURL(OracleDataSource.java:1277)
>         at oracle.jdbc.pool.OracleDataSource.getURL(OracleDataSource.java:1025)
>         at
> oracle.jdbc.xa.client.OracleXADataSource.getPooledConnection(OracleXADataSource.java:205)
>         at
> oracle.jdbc.xa.client.OracleXADataSource.getXAConnection(OracleXADataSource.java:156)
>         at
> oracle.jdbc.xa.client.OracleXADataSource.getXAConnection(OracleXADataSource.java:130)
>         ... 88 more
>
> Is it possible that I'm using some invalid property names for the
> datasource?
>
>
>
> --
> View this message in context: http://tomee-openejb.979440.n4.nabble.com/Oracle-XA-datasource-configuration-tp4671692p4671696.html
> Sent from the TomEE Users mailing list archive at Nabble.com.

Re: Oracle XA datasource configuration

Posted by drieselliott <dr...@xt-i.com>.
Hi,

I'm using version 1.7.0.

When I change the DataSourceCreator to dbcp I get the following stacktrace:

java.sql.SQLException: Failed to create DataSource
	at
org.apache.openejb.resource.jdbc.dbcp.BasicDataSource.toSQLException(BasicDataSource.java:274)
	at
org.apache.openejb.resource.jdbc.dbcp.BasicManagedDataSource.createDataSource(BasicManagedDataSource.java:249)
	at
org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
	at
org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider.getConnection(InjectedDataSourceConnectionProvider.java:46)
	at
org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:111)
	at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2101)
	at
org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1325)
	at
org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
	at
org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669)
	at
org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:132)
	at
org.apache.openejb.assembler.classic.EntityManagerFactoryCallable.call(EntityManagerFactoryCallable.java:56)
	at
org.apache.openejb.assembler.classic.ReloadableEntityManagerFactory.createDelegate(ReloadableEntityManagerFactory.java:116)
	at
org.apache.openejb.assembler.classic.ReloadableEntityManagerFactory.<init>(ReloadableEntityManagerFactory.java:102)
	at
org.apache.openejb.assembler.classic.PersistenceBuilder.createEntityManagerFactory(PersistenceBuilder.java:151)
	at
org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:750)
	at
org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:623)
	at
org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1248)
	at
org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1087)
	at
org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:130)
	at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
	at
org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
	at
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5378)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649)
	at
org.apache.tomee.catalina.TomcatWebAppBuilder.deployWar(TomcatWebAppBuilder.java:648)
	at
org.apache.tomee.catalina.TomcatWebAppBuilder.deployWebApps(TomcatWebAppBuilder.java:618)
	at
org.apache.tomee.catalina.deployment.TomcatWebappDeployer.deploy(TomcatWebappDeployer.java:43)
	at org.apache.openejb.assembler.DeployerEjb.deploy(DeployerEjb.java:175)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:192)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:173)
	at
org.apache.openejb.security.internal.InternalSecurityInterceptor.invoke(InternalSecurityInterceptor.java:35)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:192)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:173)
	at
org.apache.openejb.monitoring.StatsInterceptor.record(StatsInterceptor.java:181)
	at
org.apache.openejb.monitoring.StatsInterceptor.invoke(StatsInterceptor.java:100)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:192)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:173)
	at
org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:85)
	at
org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:227)
	at
org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:194)
	at
org.apache.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:370)
	at
org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:181)
	at
org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:344)
	at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:240)
	at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:86)
	at
org.apache.openejb.server.httpd.ServerServlet.service(ServerServlet.java:58)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
	at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:44)
	at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
	at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
	at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
	at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
	at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
	at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.reflect.UndeclaredThrowableException
	at $Proxy66.getXAConnection(Unknown Source)
	at
org.apache.commons.dbcp.managed.DataSourceXAConnectionFactory.createConnection(DataSourceXAConnectionFactory.java:103)
	at
org.apache.commons.dbcp.managed.PoolableManagedConnectionFactory.makeObject(PoolableManagedConnectionFactory.java:103)
	at
org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)
	at
org.apache.commons.dbcp.managed.BasicManagedDataSource.createPoolableConnectionFactory(BasicManagedDataSource.java:196)
	at
org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
	at
org.apache.openejb.resource.jdbc.dbcp.BasicManagedDataSource.createDataSource(BasicManagedDataSource.java:247)
	... 76 more
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at
org.apache.openejb.resource.jdbc.pool.XADataSourceResource$LazyXADataSourceHandler.invoke(XADataSourceResource.java:58)
	... 83 more
Caused by: java.sql.SQLException: Ongeldige Oracle-URL opgegeven.:
OracleDataSource.makeURL
	at oracle.jdbc.pool.OracleDataSource.makeURL(OracleDataSource.java:1277)
	at oracle.jdbc.pool.OracleDataSource.getURL(OracleDataSource.java:1025)
	at
oracle.jdbc.xa.client.OracleXADataSource.getPooledConnection(OracleXADataSource.java:205)
	at
oracle.jdbc.xa.client.OracleXADataSource.getXAConnection(OracleXADataSource.java:156)
	at
oracle.jdbc.xa.client.OracleXADataSource.getXAConnection(OracleXADataSource.java:130)
	... 88 more

Is it possible that I'm using some invalid property names for the
datasource?



--
View this message in context: http://tomee-openejb.979440.n4.nabble.com/Oracle-XA-datasource-configuration-tp4671692p4671696.html
Sent from the TomEE Users mailing list archive at Nabble.com.

Re: Oracle XA datasource configuration

Posted by Romain Manni-Bucau <rm...@gmail.com>.
Hi

which version of tomee?

plus please ensure you use DataSourceCreator   dbcp


Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau


2014-09-09 9:36 GMT+02:00 drieselliott <dr...@xt-i.com>:
> Hi,
>
> Thank you for the rapid response. While googling I came across the issue you
> are linking. I changed my datasource configuration to the following:
>
>   <Resource id="jdbc/OracleNarDs" type="DataSource">
>     XaDataSource        jdbc/OracleNarDsXa
>     DataSourceCreator   dbcp-alternative
>     MaxIdle             10
>     MaxActive           20
>     ValidationQuery     SELECT 1 FROM DUAL
>   </Resource>
>
>   <Resource id="jdbc/OracleNarDsXa" type="XADataSource"
> class-name="oracle.jdbc.xa.client.OracleXADataSource">
>     JdbcUrl           jdbc:oracle:thin:@****:1521:****
>     UserName          ***
>     Password          ***
>   </Resource>
>
> With this configuration I get the stacktrace shown below:
>
> org.apache.catalina.LifecycleException: Failed to start component
> [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/iam-as]]
>         at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
>         at
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
>         at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
>         at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649)
>         at
> org.apache.tomee.catalina.TomcatWebAppBuilder.deployWar(TomcatWebAppBuilder.java:648)
>         at
> org.apache.tomee.catalina.TomcatWebAppBuilder.deployWebApps(TomcatWebAppBuilder.java:618)
>         at
> org.apache.tomee.catalina.deployment.TomcatWebappDeployer.deploy(TomcatWebappDeployer.java:43)
>         at org.apache.openejb.assembler.DeployerEjb.deploy(DeployerEjb.java:175)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:192)
>         at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:173)
>         at
> org.apache.openejb.security.internal.InternalSecurityInterceptor.invoke(InternalSecurityInterceptor.java:35)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:192)
>         at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:173)
>         at
> org.apache.openejb.monitoring.StatsInterceptor.record(StatsInterceptor.java:181)
>         at
> org.apache.openejb.monitoring.StatsInterceptor.invoke(StatsInterceptor.java:100)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:192)
>         at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:173)
>         at
> org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:85)
>         at
> org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:227)
>         at
> org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:194)
>         at
> org.apache.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:370)
>         at
> org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:181)
>         at
> org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:344)
>         at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:240)
>         at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:86)
>         at
> org.apache.openejb.server.httpd.ServerServlet.service(ServerServlet.java:58)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>         at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
>         at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
>         at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:44)
>         at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>         at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
>         at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
>         at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
>         at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>         at
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
>         at
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
>         at
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>         at
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>         at java.lang.Thread.run(Thread.java:662)
> Caused by: org.apache.tomee.catalina.TomEERuntimeException:
> org.apache.openejb.OpenEJBException: Creating application failed:
> C:\workspace3-iam772\iam-all\iamas\iam-as\iam-as-rest\target\iam-as-rest-8.0.0-RC1-SNAPSHOT:
> java.lang.ClassCastException: $Proxy29 cannot be cast to
> javax.sql.DataSource: $Proxy29 cannot be cast to javax.sql.DataSource
>         at
> org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1257)
>         at
> org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1087)
>         at
> org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:130)
>         at
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
>         at
> org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
>         at
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5378)
>         at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
>         ... 55 more
> Caused by: org.apache.openejb.OpenEJBException: Creating application failed:
> C:\workspace3-iam772\iam-all\iamas\iam-as\iam-as-rest\target\iam-as-rest-8.0.0-RC1-SNAPSHOT:
> java.lang.ClassCastException: $Proxy29 cannot be cast to
> javax.sql.DataSource: $Proxy29 cannot be cast to javax.sql.DataSource
>         at
> org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:896)
>         at
> org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:623)
>         at
> org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1248)
>         ... 61 more
> Caused by: org.apache.openejb.OpenEJBException:
> java.lang.ClassCastException: $Proxy29 cannot be cast to
> javax.sql.DataSource: $Proxy29 cannot be cast to javax.sql.DataSource
>         at
> org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:756)
>         ... 63 more
> Caused by: java.lang.ClassCastException: $Proxy29 cannot be cast to
> javax.sql.DataSource
>         at
> org.apache.openejb.assembler.classic.PersistenceBuilder.createEntityManagerFactory(PersistenceBuilder.java:131)
>         at
> org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:750)
>         ... 63 more
>
> Furthermore I notice the following lines in my logs:
>
> 2014-09-09 09:30:07,521 INFO  [OpenEJB.startup.config][ | ] Auto-creating a
> Resource with id 'jdbc/OracleNarDsNonJta' of type 'DataSource for
> 'iam-entities'.
> 2014-09-09 09:30:07,521 INFO  [OpenEJB.startup.config][ | ] Configuring
> Service(id=jdbc/OracleNarDsNonJta, type=Resource,
> provider-id=jdbc/OracleNarDs)
> 2014-09-09 09:30:07,521 INFO  [OpenEJB.startup.service][ | ] Creating
> Resource(id=jdbc/OracleNarDsNonJta)
> 2014-09-09 09:30:07,530 WARN  [OpenEJB.startup.service][ | ] Property
> "JdbcUrl" not supported by "jdbc/OracleNarDsNonJta"
> 2014-09-09 09:30:07,530 WARN  [OpenEJB.startup.service][ | ] Property
> "UserName" not supported by "jdbc/OracleNarDsNonJta"
> 2014-09-09 09:30:07,530 WARN  [OpenEJB.startup.service][ | ] Property
> "Password" not supported by "jdbc/OracleNarDsNonJta"
> 2014-09-09 09:30:07,530 WARN  [OpenEJB.startup.service][ | ] Property
> "PasswordCipher" not supported by "jdbc/OracleNarDsNonJta"
> 2014-09-09 09:30:07,530 WARN  [OpenEJB.startup.service][ | ] Property
> "ConnectionProperties" not supported by "jdbc/OracleNarDsNonJta"
> 2014-09-09 09:30:07,530 WARN  [OpenEJB.startup.service][ | ] Property
> "DefaultAutoCommit" not supported by "jdbc/OracleNarDsNonJta"
> 2014-09-09 09:30:07,530 WARN  [OpenEJB.startup.service][ | ] Property
> "DefaultReadOnly" not supported by "jdbc/OracleNarDsNonJta"
> 2014-09-09 09:30:07,530 WARN  [OpenEJB.startup.service][ | ] Property
> "InitialSize" not supported by "jdbc/OracleNarDsNonJta"
> 2014-09-09 09:30:07,530 WARN  [OpenEJB.startup.service][ | ] Property
> "MaxActive" not supported by "jdbc/OracleNarDsNonJta"
> 2014-09-09 09:30:07,530 WARN  [OpenEJB.startup.service][ | ] Property
> "MaxIdle" not supported by "jdbc/OracleNarDsNonJta"
> 2014-09-09 09:30:07,530 WARN  [OpenEJB.startup.service][ | ] Property
> "MinIdle" not supported by "jdbc/OracleNarDsNonJta"
> 2014-09-09 09:30:07,530 WARN  [OpenEJB.startup.service][ | ] Property
> "ValidationQuery" not supported by "jdbc/OracleNarDsNonJta"
> 2014-09-09 09:30:07,530 WARN  [OpenEJB.startup.service][ | ] Property
> "TestOnBorrow" not supported by "jdbc/OracleNarDsNonJta"
> 2014-09-09 09:30:07,530 WARN  [OpenEJB.startup.service][ | ] Property
> "TestOnReturn" not supported by "jdbc/OracleNarDsNonJta"
> 2014-09-09 09:30:07,530 WARN  [OpenEJB.startup.service][ | ] Property
> "TestWhileIdle" not supported by "jdbc/OracleNarDsNonJta"
> 2014-09-09 09:30:07,530 WARN  [OpenEJB.startup.service][ | ] Property
> "NumTestsPerEvictionRun" not supported by "jdbc/OracleNarDsNonJta"
> 2014-09-09 09:30:07,531 WARN  [OpenEJB.startup.service][ | ] Property
> "PoolPreparedStatements" not supported by "jdbc/OracleNarDsNonJta"
> 2014-09-09 09:30:07,531 WARN  [OpenEJB.startup.service][ | ] Property
> "MaxOpenPreparedStatements" not supported by "jdbc/OracleNarDsNonJta"
> 2014-09-09 09:30:07,531 WARN  [OpenEJB.startup.service][ | ] Property
> "AccessToUnderlyingConnectionAllowed" not supported by
> "jdbc/OracleNarDsNonJta"
> 2014-09-09 09:30:07,531 WARN  [OpenEJB.startup.service][ | ] Property
> "XaDataSource" not supported by "jdbc/OracleNarDsNonJta"
> 2014-09-09 09:30:07,531 WARN  [OpenEJB.startup.service][ | ] Property
> "DataSourceCreator" not supported by "jdbc/OracleNarDsNonJta"
>
> Why does TomEE try to create a Non-JTA datasource? Does this have anything
> to do with the stacktrace shown above?
>
> Kind regards,
>
> Dries Elliott
>
>
>
> --
> View this message in context: http://tomee-openejb.979440.n4.nabble.com/Oracle-XA-datasource-configuration-tp4671692p4671694.html
> Sent from the TomEE Users mailing list archive at Nabble.com.

Re: Oracle XA datasource configuration

Posted by drieselliott <dr...@xt-i.com>.
Hi,

Thank you for the rapid response. While googling I came across the issue you
are linking. I changed my datasource configuration to the following:

  <Resource id="jdbc/OracleNarDs" type="DataSource">
    XaDataSource        jdbc/OracleNarDsXa
    DataSourceCreator   dbcp-alternative
    MaxIdle             10
    MaxActive           20
    ValidationQuery     SELECT 1 FROM DUAL
  </Resource>

  <Resource id="jdbc/OracleNarDsXa" type="XADataSource"
class-name="oracle.jdbc.xa.client.OracleXADataSource">
    JdbcUrl           jdbc:oracle:thin:@****:1521:****
    UserName          ***
    Password          ***
  </Resource>

With this configuration I get the stacktrace shown below:

org.apache.catalina.LifecycleException: Failed to start component
[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/iam-as]]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
	at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649)
	at
org.apache.tomee.catalina.TomcatWebAppBuilder.deployWar(TomcatWebAppBuilder.java:648)
	at
org.apache.tomee.catalina.TomcatWebAppBuilder.deployWebApps(TomcatWebAppBuilder.java:618)
	at
org.apache.tomee.catalina.deployment.TomcatWebappDeployer.deploy(TomcatWebappDeployer.java:43)
	at org.apache.openejb.assembler.DeployerEjb.deploy(DeployerEjb.java:175)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:192)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:173)
	at
org.apache.openejb.security.internal.InternalSecurityInterceptor.invoke(InternalSecurityInterceptor.java:35)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:192)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:173)
	at
org.apache.openejb.monitoring.StatsInterceptor.record(StatsInterceptor.java:181)
	at
org.apache.openejb.monitoring.StatsInterceptor.invoke(StatsInterceptor.java:100)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:192)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:173)
	at
org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:85)
	at
org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:227)
	at
org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:194)
	at
org.apache.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:370)
	at
org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:181)
	at
org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:344)
	at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:240)
	at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:86)
	at
org.apache.openejb.server.httpd.ServerServlet.service(ServerServlet.java:58)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
	at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:44)
	at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
	at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
	at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
	at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
	at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
	at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:662)
Caused by: org.apache.tomee.catalina.TomEERuntimeException:
org.apache.openejb.OpenEJBException: Creating application failed:
C:\workspace3-iam772\iam-all\iamas\iam-as\iam-as-rest\target\iam-as-rest-8.0.0-RC1-SNAPSHOT:
java.lang.ClassCastException: $Proxy29 cannot be cast to
javax.sql.DataSource: $Proxy29 cannot be cast to javax.sql.DataSource
	at
org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1257)
	at
org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1087)
	at
org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:130)
	at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
	at
org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
	at
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5378)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	... 55 more
Caused by: org.apache.openejb.OpenEJBException: Creating application failed:
C:\workspace3-iam772\iam-all\iamas\iam-as\iam-as-rest\target\iam-as-rest-8.0.0-RC1-SNAPSHOT:
java.lang.ClassCastException: $Proxy29 cannot be cast to
javax.sql.DataSource: $Proxy29 cannot be cast to javax.sql.DataSource
	at
org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:896)
	at
org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:623)
	at
org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1248)
	... 61 more
Caused by: org.apache.openejb.OpenEJBException:
java.lang.ClassCastException: $Proxy29 cannot be cast to
javax.sql.DataSource: $Proxy29 cannot be cast to javax.sql.DataSource
	at
org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:756)
	... 63 more
Caused by: java.lang.ClassCastException: $Proxy29 cannot be cast to
javax.sql.DataSource
	at
org.apache.openejb.assembler.classic.PersistenceBuilder.createEntityManagerFactory(PersistenceBuilder.java:131)
	at
org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:750)
	... 63 more

Furthermore I notice the following lines in my logs:

2014-09-09 09:30:07,521 INFO  [OpenEJB.startup.config][ | ] Auto-creating a
Resource with id 'jdbc/OracleNarDsNonJta' of type 'DataSource for
'iam-entities'.
2014-09-09 09:30:07,521 INFO  [OpenEJB.startup.config][ | ] Configuring
Service(id=jdbc/OracleNarDsNonJta, type=Resource,
provider-id=jdbc/OracleNarDs)
2014-09-09 09:30:07,521 INFO  [OpenEJB.startup.service][ | ] Creating
Resource(id=jdbc/OracleNarDsNonJta)
2014-09-09 09:30:07,530 WARN  [OpenEJB.startup.service][ | ] Property
"JdbcUrl" not supported by "jdbc/OracleNarDsNonJta"
2014-09-09 09:30:07,530 WARN  [OpenEJB.startup.service][ | ] Property
"UserName" not supported by "jdbc/OracleNarDsNonJta"
2014-09-09 09:30:07,530 WARN  [OpenEJB.startup.service][ | ] Property
"Password" not supported by "jdbc/OracleNarDsNonJta"
2014-09-09 09:30:07,530 WARN  [OpenEJB.startup.service][ | ] Property
"PasswordCipher" not supported by "jdbc/OracleNarDsNonJta"
2014-09-09 09:30:07,530 WARN  [OpenEJB.startup.service][ | ] Property
"ConnectionProperties" not supported by "jdbc/OracleNarDsNonJta"
2014-09-09 09:30:07,530 WARN  [OpenEJB.startup.service][ | ] Property
"DefaultAutoCommit" not supported by "jdbc/OracleNarDsNonJta"
2014-09-09 09:30:07,530 WARN  [OpenEJB.startup.service][ | ] Property
"DefaultReadOnly" not supported by "jdbc/OracleNarDsNonJta"
2014-09-09 09:30:07,530 WARN  [OpenEJB.startup.service][ | ] Property
"InitialSize" not supported by "jdbc/OracleNarDsNonJta"
2014-09-09 09:30:07,530 WARN  [OpenEJB.startup.service][ | ] Property
"MaxActive" not supported by "jdbc/OracleNarDsNonJta"
2014-09-09 09:30:07,530 WARN  [OpenEJB.startup.service][ | ] Property
"MaxIdle" not supported by "jdbc/OracleNarDsNonJta"
2014-09-09 09:30:07,530 WARN  [OpenEJB.startup.service][ | ] Property
"MinIdle" not supported by "jdbc/OracleNarDsNonJta"
2014-09-09 09:30:07,530 WARN  [OpenEJB.startup.service][ | ] Property
"ValidationQuery" not supported by "jdbc/OracleNarDsNonJta"
2014-09-09 09:30:07,530 WARN  [OpenEJB.startup.service][ | ] Property
"TestOnBorrow" not supported by "jdbc/OracleNarDsNonJta"
2014-09-09 09:30:07,530 WARN  [OpenEJB.startup.service][ | ] Property
"TestOnReturn" not supported by "jdbc/OracleNarDsNonJta"
2014-09-09 09:30:07,530 WARN  [OpenEJB.startup.service][ | ] Property
"TestWhileIdle" not supported by "jdbc/OracleNarDsNonJta"
2014-09-09 09:30:07,530 WARN  [OpenEJB.startup.service][ | ] Property
"NumTestsPerEvictionRun" not supported by "jdbc/OracleNarDsNonJta"
2014-09-09 09:30:07,531 WARN  [OpenEJB.startup.service][ | ] Property
"PoolPreparedStatements" not supported by "jdbc/OracleNarDsNonJta"
2014-09-09 09:30:07,531 WARN  [OpenEJB.startup.service][ | ] Property
"MaxOpenPreparedStatements" not supported by "jdbc/OracleNarDsNonJta"
2014-09-09 09:30:07,531 WARN  [OpenEJB.startup.service][ | ] Property
"AccessToUnderlyingConnectionAllowed" not supported by
"jdbc/OracleNarDsNonJta"
2014-09-09 09:30:07,531 WARN  [OpenEJB.startup.service][ | ] Property
"XaDataSource" not supported by "jdbc/OracleNarDsNonJta"
2014-09-09 09:30:07,531 WARN  [OpenEJB.startup.service][ | ] Property
"DataSourceCreator" not supported by "jdbc/OracleNarDsNonJta"

Why does TomEE try to create a Non-JTA datasource? Does this have anything
to do with the stacktrace shown above?

Kind regards,

Dries Elliott



--
View this message in context: http://tomee-openejb.979440.n4.nabble.com/Oracle-XA-datasource-configuration-tp4671692p4671694.html
Sent from the TomEE Users mailing list archive at Nabble.com.

Re: Oracle XA datasource configuration

Posted by Romain Manni-Bucau <rm...@gmail.com>.
Hi

I think that's https://issues.apache.org/jira/browse/TOMEE-1337


Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau


2014-09-09 8:19 GMT+02:00 drieselliott <dr...@xt-i.com>:
> Hi,
>
> According to http://tomee.apache.org/common-datasource-configurations.html
> adding an Oracle XA datasource should be as simple as appending the
> following configuration to your tomee.xml:
>
>   <Resource id="jdbc/OracleNarDs" type="DataSource">
>     JdbcDriver            oracle.jdbc.xa.client.OracleXADataSource
>     JdbcUrl               jdbc:oracle:thin:@****:1521:****
>     UserName              ******
>     Password              ******
>     MaxIdle               10
>     MaxActive             20
>     ValidationQuery       SELECT 1 FROM DUAL
>   </Resource>
>
> When I add this configuration and start my server, I see the following lines
> printed in my logs:
>
> 2014-09-09 08:11:40,333 INFO  [OpenEJB.startup.service][ | ] Creating
> Resource(id=jdbc/OracleNarDs)
> 2014-09-09 08:11:40,540 WARN  [OpenEJB.startup.service][ | ] Property
> "JdbcUrl" not supported by "jdbc/OracleNarDs"
> 2014-09-09 08:11:40,540 WARN  [OpenEJB.startup.service][ | ] Property
> "UserName" not supported by "jdbc/OracleNarDs"
> 2014-09-09 08:11:40,540 WARN  [OpenEJB.startup.service][ | ] Property
> "Password" not supported by "jdbc/OracleNarDs"
> 2014-09-09 08:11:40,540 WARN  [OpenEJB.startup.service][ | ] Property
> "PasswordCipher" not supported by "jdbc/OracleNarDs"
> 2014-09-09 08:11:40,540 WARN  [OpenEJB.startup.service][ | ] Property
> "ConnectionProperties" not supported by "jdbc/OracleNarDs"
> 2014-09-09 08:11:40,540 WARN  [OpenEJB.startup.service][ | ] Property
> "DefaultAutoCommit" not supported by "jdbc/OracleNarDs"
> 2014-09-09 08:11:40,540 WARN  [OpenEJB.startup.service][ | ] Property
> "DefaultReadOnly" not supported by "jdbc/OracleNarDs"
> 2014-09-09 08:11:40,540 WARN  [OpenEJB.startup.service][ | ] Property
> "InitialSize" not supported by "jdbc/OracleNarDs"
> 2014-09-09 08:11:40,540 WARN  [OpenEJB.startup.service][ | ] Property
> "MaxActive" not supported by "jdbc/OracleNarDs"
> 2014-09-09 08:11:40,540 WARN  [OpenEJB.startup.service][ | ] Property
> "MaxIdle" not supported by "jdbc/OracleNarDs"
> 2014-09-09 08:11:40,541 WARN  [OpenEJB.startup.service][ | ] Property
> "MinIdle" not supported by "jdbc/OracleNarDs"
> 2014-09-09 08:11:40,541 WARN  [OpenEJB.startup.service][ | ] Property
> "ValidationQuery" not supported by "jdbc/OracleNarDs"
> 2014-09-09 08:11:40,541 WARN  [OpenEJB.startup.service][ | ] Property
> "TestOnBorrow" not supported by "jdbc/OracleNarDs"
> 2014-09-09 08:11:40,541 WARN  [OpenEJB.startup.service][ | ] Property
> "TestOnReturn" not supported by "jdbc/OracleNarDs"
> 2014-09-09 08:11:40,541 WARN  [OpenEJB.startup.service][ | ] Property
> "TestWhileIdle" not supported by "jdbc/OracleNarDs"
> 2014-09-09 08:11:40,541 WARN  [OpenEJB.startup.service][ | ] Property
> "NumTestsPerEvictionRun" not supported by "jdbc/OracleNarDs"
> 2014-09-09 08:11:40,541 WARN  [OpenEJB.startup.service][ | ] Property
> "PoolPreparedStatements" not supported by "jdbc/OracleNarDs"
> 2014-09-09 08:11:40,541 WARN  [OpenEJB.startup.service][ | ] Property
> "MaxOpenPreparedStatements" not supported by "jdbc/OracleNarDs"
> 2014-09-09 08:11:40,541 WARN  [OpenEJB.startup.service][ | ] Property
> "AccessToUnderlyingConnectionAllowed" not supported by "jdbc/OracleNarDs"
>
> Has anyone else encountered this issue before?
>
> Kind regards,
>
> Dries Elliott
>
>
>
> --
> View this message in context: http://tomee-openejb.979440.n4.nabble.com/Oracle-XA-datasource-configuration-tp4671692.html
> Sent from the TomEE Users mailing list archive at Nabble.com.