Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I need to manage attachments on my Spring web application and I thought to use an open source repository.

My app it's a job approval system using J2EE / SPRING 3 Framework and Postgress DB to allow user to tracks the job,right through every step of the approval process.

It is a fully managed, collaborative system that operates from a central server and is accessed by a standard internet browser.

An user should be able to add an attach to a request or an approval step, so, I though to use Jackrabbit with Postgres database persistence manager.

I took a look to this post: http://onjava.com/pub/a/onjava/2006/10/04/what-is-java-content-repository.html?page=1

It's really interesting but, I've some question about this kind of solution :-

  • I seen that Jackrabbit standalone as a Derby database embedded solution for persistence, is it enough for a professional use of the repository with more than 50 request / days (with attachment) ?

  • Is there a reason for which I should use another database manager for persistence instead of the default one ?

share|improve this question
1  
Hi Andrea, we generally discourage questions like "What is the best tool?" because it is too broad and there is too much opinion. Please consider editing your question to something more concrete and focused about your design. –  maple_shaft Jan 31 '12 at 17:53
    
thanks for the suggestion. I'll do :) –  Andrea Girardi Jan 31 '12 at 17:55
    
Andrea, why did you choose Jackrabbit? Jackrabbit is good for some things (as a content repository, for example), but it's not really the first choice for a simple attachment store. –  Matthew Skelton Jan 13 at 1:31
    
It was only an investigation. I'm using Alfresco. –  Andrea Girardi Jan 13 at 9:02

1 Answer 1

When you choose the database for repository you should base your decision on the same criteria like choose the database for web application. For instance, respond yourself to question: if derby is good for jackrabbit, why not use derby as a database for web application.

From this point of view I recommend to use the same database for both. This also give you advantages for maintenance, you will need to know only one database and don't need to duplicate maintenance scripts.

I suggest to use a database with table spaces. Data for web application and attachment to be store in different table spaces for optimization. Even you can have one database for both web application and jackrabbit with different schema and table spaces. More you can use the same database connection of JEE container.

Do you need one commit for both (web application and jackrabbit) known as 2 phase commit? If yes I know spring can do it, but I can't help you with that because I didn't work with spring.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.