4 Replies Latest reply: May 18, 2012 7:19 PM by pascal salg RSS

@Resource Annotation fails to inject custom Connectionfactory

pascal salg Newbie

Hi,

 

i'm trying to get JBoss 7 (7.1.1) hooked up with the Neo4J Database. There is already a working connector for that (http://alexsmirnov.wordpress.com/2011/05/18/neo4j-java-ee-connector/)

 

Deployment and startup of my application are no problem.The connectionfactory gets bound to its jndi name at startup:

[org.jboss.as.deployment.connector] (MSC service thread 1-9) JBAS010406: Registered connection factory java:/eis/Neo4j

[org.jboss.as.deployment.connector] (MSC service thread 1-9) JBAS010401: Bound JCA ConnectionFactory [java:/eis/Neo4j]

 

But the trouble starts when I want to use the database / the connectionfactory. I inject the connectionfactory with the @Resource Annotation like this:

(NEO4J_NAME = "java:/eis/Neo4j")

 


@Resource(lookup=NEO4J_NAME)

private Neo4JConnectionFactory connectionFactory;

 

As soon as I call any method on the connectionFactory (connectionFactory.getConnection() for example) JBoss starts beating me up:

 

...

 

Caused by: java.lang.IllegalArgumentException: Can not set com.netoprise.neo4j.connection.Neo4JConnectionFactory field test.Neo4jClient.connectionFactory to com.netoprise.neo4j.connection.Neo4JConnectionFactoryImpl

 

(Neo4JConnectionFactory obviously is the interface and *Impl is the corresponding implementing class for that interface..)

 

 

I already tried different paramters for the @Resource annotation (mappedBy, name), even tried a jndi lookup by hand (which gives me a classcastexception)

 

Maybe I'm missing something obvious but I've been pulling my hair out over this one..

Any hints would be greatly appreciated.

 

Greetings from Germany

 

p.salg

____

Edit:

 

I attached the snippet from the standalone.xml config file which I'm using, maybe this will help a little more.