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.