Jackrabbit RAR Deployment in Glassfish (and on Mac OS X)

2 messages Options
Embed this post
Permalink
Daniel Br?uen

Jackrabbit RAR Deployment in Glassfish (and on Mac OS X)

Reply Threaded More More options
Print post
Permalink
Hi!

After some struggling I managed to properly install Jackrabbit as a
connector module in Glassfish (V1 and V2). I do NOT recommend the
procedure that is described in the Wiki!

Here's what I have done.

1. Using the admin-console, create a new thread-pool for the connector
module (->Configuration->Thread Pools). I called it "jackrabbit-pool"
and left all parameters untouched.

---MAC OS X SPECIAL---
  Deployment of RAR's does not really work because of the
case-insensitive filesystem. You will get some FileNotFound-Exceptions,
because both a file called "LICENSE" and a directory called "license"
are created at the same place during the process. The solution is
annoying: Stop the server, move your domain to a USB-Stick formatted to
support HFS with case-sensitivity, create a symlink to that domain in
your application server, deploy the RAR, delete the file called
"LICENSE" in domain/applications/j2ee-modules/jackrabbit-jca-1.3.1/,
stop the Application Server and move the domain back to its original
location.
---END MAC OS X SPECIAL---


2. Using the admin-console, deploy a new connector module (resource
adapter) and upload the jackrabbit-jca-1.3.1.rar file
(->Applications->Connector Modules). Here, use the thread-pool you have
just created ("jackrabbit-pool").

3. Using the admin-console, create a new Connector connection pool
(->Resources->Connector Connection Pools). I called it
"jackrabbit-connection-pool". Then select the Resource Adapter you have
  just created (jackrabbit-jca-1.3.1).

4. Using the admin-console, create a new Connector Resource
(->Resources->Connector Resources), select the pool you have just
created and give your repository a suitable JNDI-Name, i chose
"jcr/repository".

You have to restart your application server now (because of the newly
created thread-pool). Now you should be able to use your repository via
JNDI. In my EE5-bean I simply inject the repository like this:

@Resource(mappedName="jcr/repository", type=javax.jcr.Repository.class)
     private Repository rep;


Cheers,
Dan

Daniel Br?uen

Re: Jackrabbit RAR Deployment in Glassfish (and on Mac OS X)

Reply Threaded More More options
Print post
Permalink
Oups, sorry, the MAC-OS-SPECIAL goes under 2.

Daniel BrŸuen wrote:

> Hi!
>
> After some struggling I managed to properly install Jackrabbit as a
> connector module in Glassfish (V1 and V2). I do NOT recommend the
> procedure that is described in the Wiki!
>
> Here's what I have done.
>
> 1. Using the admin-console, create a new thread-pool for the connector
> module (->Configuration->Thread Pools). I called it "jackrabbit-pool"
> and left all parameters untouched.
>
> ---MAC OS X SPECIAL---
>  Deployment of RAR's does not really work because of the
> case-insensitive filesystem. You will get some FileNotFound-Exceptions,
> because both a file called "LICENSE" and a directory called "license"
> are created at the same place during the process. The solution is
> annoying: Stop the server, move your domain to a USB-Stick formatted to
> support HFS with case-sensitivity, create a symlink to that domain in
> your application server, deploy the RAR, delete the file called
> "LICENSE" in domain/applications/j2ee-modules/jackrabbit-jca-1.3.1/,
> stop the Application Server and move the domain back to its original
> location.
> ---END MAC OS X SPECIAL---
>
>
> 2. Using the admin-console, deploy a new connector module (resource
> adapter) and upload the jackrabbit-jca-1.3.1.rar file
> (->Applications->Connector Modules). Here, use the thread-pool you have
> just created ("jackrabbit-pool").
>
> 3. Using the admin-console, create a new Connector connection pool
> (->Resources->Connector Connection Pools). I called it
> "jackrabbit-connection-pool". Then select the Resource Adapter you have
>  just created (jackrabbit-jca-1.3.1).
>
> 4. Using the admin-console, create a new Connector Resource
> (->Resources->Connector Resources), select the pool you have just
> created and give your repository a suitable JNDI-Name, i chose
> "jcr/repository".
>
> You have to restart your application server now (because of the newly
> created thread-pool). Now you should be able to use your repository via
> JNDI. In my EE5-bean I simply inject the repository like this:
>
> @Resource(mappedName="jcr/repository", type=javax.jcr.Repository.class)
>     private Repository rep;
>
>
> Cheers,
> Dan
>
>