> Would anybody be willing to share experiences with trying to introduce Neo4j > into a system with another relational (or other NoSQL) database?
Let me contribute my 2 cents here. I have developed a rough demo that shows what my thoughts are for integration of Neo4j instances in a managed environment. Using this JCA 1.6 compliant connector module I have successfully - Injected a ConnectionFactory (akin to a DataSource from JDBC) that returns NeoConnections (similar to javax.sql.Connection). - Performed operations on it (node creations/property settings) in tandem with operations on a mySQL instance. That is, in the same EJB method, with a container managed transaction. Both resources were enlisted in the top level tx and were successfully committed or rolledback (when I violated constraints in either db, for instance), in proper 2PC manner. So far, based on my experience working with JDBC, the feeling is the same, as far as usability goes. The GraphDatabaseService interface is not yet completely available. The code is available at the repository: The transaction manager to use (based on previous work): https://svn.neo4j.org/laboratory/users/cgioran/ContainerProvidedTxManager/ The connector module: https://svn.neo4j.org/laboratory/users/cgioran/NeoJCA/ The modified kernel (nothing major, just exposed retrieval of XAResources and enforced the new txm) https://svn.neo4j.org/laboratory/users/cgioran/neo4j-kernel-jta/ The idea is that you build/install all three above, add the jta kernel and the txm service in your ear's libraries and the connector module as an ear connector module (in application.xml). Create a pool and bind it to the JNDI and retrieve it from there in your EJB/Servlet. DISCLAIMER: The above code is a toy and completely temporary. I have not verified its operation in any significant way, I do not even know if (in fact I doubt that) the pooling mechanism works properly. Do not use it in any way that might be remotely important. The connector will work only in glassfish. Other app servers (JonAS and Geronimo for certain) require additional descriptor files apart from ra.xml If you want to deploy in another container, please consult its manual on the proper procedure. I will now go and write a post explaining in more detail how to build, install and use the above. If, in the meantime, someone feels adventurous and decides to look at the code, feedback is always welcome. The important thing for me is not the correctness of the code - there is not much there anyway. What I am interested in is its dynamics and the possible interactions in an app server. cheers, CG _______________________________________________ Neo4j mailing list [email protected] https://lists.neo4j.org/mailman/listinfo/user

