You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by Apache Wiki <wi...@apache.org> on 2006/07/28 17:47:10 UTC
[Jackrabbit Wiki] Update of "JackrabbitOnJBoss" by edgarpoce
Dear Wiki user,
You have subscribed to a wiki page or wiki category on "Jackrabbit Wiki" for change notification.
The following page has been changed by edgarpoce:
http://wiki.apache.org/jackrabbit/JackrabbitOnJBoss
The comment on the change is:
how to access the repository from session beans
------------------------------------------------------------------------------
## page was renamed from JackrabbitInJBoss
This document describes how to
- * Deploy Jackrabbit with JCA.
+ * Deploy Jackrabbit on JBoss with JCA.
* Expose the local repository through JNDI and WEBDAV to remote clients.
+ * Access the repository from session beans
- * Connect remotely from a java program, or from a command line tool (contrib/jcr-commands).
+ * Access the repository remotely from a java program, or from a command line tool (contrib/jcr-commands).
Feel free to make changes to this document.
@@ -49, +50 @@
Now the webdav server is running at http://localhost:8080/jackrabbit-server
+ === Access the repository from a session bean ===
+
+ EJB3 example
+
+ ==== Container managed transactions ====
+
+ {{{
+ @Stateless
+ public class TestCMT implements TestCMTBean {
+
+ public void test() throws Exception {
+ InitialContext ctx = new InitialContext() ;
+ Repository repo = (Repository) ctx.lookup("java:jcr/local") ;
+ Credentials cred = new SimpleCredentials("user",new char[]{'´p','w','d'}) ;
+ Session s = repo.login(cred) ;
+ s.getRootNode().addNode("foo") ;
+ s.save();
+ }
+
+ }
+ }}}
+
+ ==== Bean managed transactions ====
+
+ {{{
+ @Stateless
+ @TransactionManagement(TransactionManagementType.BEAN)
+ public class TestBMT implements TestBMTBean {
+
+
+ @Resource
+ UserTransaction utx ;
+
+ public void test() throws Exception {
+ utx.begin() ;
+ InitialContext ctx = new InitialContext();
+ Repository repo = (Repository) ctx.lookup("java:jcr/local");
+ Credentials cred = new SimpleCredentials("user",new char[]{'´p','w','d'}) ;
+ Session s = repo.login(cred);
+ s.getRootNode().addNode("foo");
+ s.save();
+ utx.commit() ;
+ }
+
+ }
+ }}}
+
- === Accessing the repository remotely from the command line interface ===
+ === Access the repository remotely from the command line interface ===
* checkout jcr-commands from subversion
* build with "maven jar:jar"
* unzip the generated zip file at ./target into a folder of your choice