[jboss-user] [JCA/JBoss] - Problem using JBoss Datasource
jborter
do-not-reply at jboss.com
Fri Aug 31 09:29:44 EDT 2007
Hi
I have serious problems using a JBoss Datasource. From the documentation it seems to be easy... What I've done:
Created file oracle-ds.xml and moved it into the directory server/default/deploy. It looks like this:
| <?xml version="1.0" encoding="UTF-8" ?>
| <datasources>
| <no-tx-datasource>
| <jndi-name>/myOracleDS</jndi-name>
| <use-java-context>
| true
| </use-java-context>
| <connection-url>
| jdbc:oracle:thin:@localhost:1521:TESTDB
| </connection-url>
| <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
| <user-name>TESTER</user-name>
| <password>TESTER</password>
| <min-pool-size>1</min-pool-size>
| <max-pool-size>5</max-pool-size>
| <metadata>
| <type-mapping>Oracle9i</type-mapping>
| </metadata>
| </no-tx-datasource>
| </datasources>
|
As JBoss starts, it displays that this succeeded:
| INFO [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=/myOracleDS' to JNDI name 'java:/myOracleDS'
|
I also created an EJB which has the following JAVA code:
|
| @Stateless(name="oracleConnectionPool")
| public class OracleConnectionPoolImpl implements OracleConnectionPool {
|
| @Resource(mappedName="java:/myOracleDS")
| private DataSource ds;
|
| public Connection getOracleConnection() {
| try {
| return ds.getConnection();
| } catch (SQLException ex) {
| ex.printStackTrace();
| }
|
| return null;
| }
| }
|
As I lookup this EJB and call the method getOracleConnection() from another class, I get a really strange Exception:
|
| java.lang.IllegalArgumentException: failed to set value org.jboss.resource.adapter.jdbc.WrapperDataSource at c1c2f1 on field private javax.sql.DataSource OracleConnectionPoolImpl.ds
| at org.jboss.injection.lang.reflect.FieldBeanProperty.set(FieldBeanProperty.java:85)
| at org.jboss.injection.JndiPropertyInjector.inject(JndiPropertyInjector.java:89)
| at org.jboss.injection.JndiPropertyInjector.inject(JndiPropertyInjector.java:83)
| at org.jboss.injection.JndiPropertyInjector.inject(JndiPropertyInjector.java:55)
| at org.jboss.ejb3.AbstractPool.create(AbstractPool.java:111)
| at org.jboss.ejb3.ThreadlocalPool.get(ThreadlocalPool.java:61)
| at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:54)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
| at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:106)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:214)
| at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:184)
| at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:81)
| at $Proxy175.getOracleConnection(Unknown Source)
| at TestOracleConnection.getStatement(...)
| ...
|
Does anyone has an idea of how to solve this problem?
Tnx & cheers, Jbo
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4079998#4079998
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4079998
More information about the jboss-user
mailing list