You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-user@james.apache.org by N Kapshoo <nk...@gmail.com> on 2010/02/11 13:31:51 UTC

Production Deployment

I want to evaluate James as an integrated mail solution for a very large web
application.

I have successfully deployed on my local box and used JavaMail to test basic
email.

What I am unclear about is -
How are production deployments of James typically done? I would be looking
to support a very large volume of email and would also be writing a webmail
solution that sits with the rest of our application.
Is James typically deployed inside a servlet container for production? How
do I go about writing mailets and deploying them?

Lastly, if I want to create/delete users programmatically, how would my java
code in the container make james server api calls?

Thanks in advance.

Re: Production Deployment

Posted by Norman Maurer <no...@googlemail.com>.
About JSR250 injection.. You could also just use normal setter or
constructor injection with spring..

Bye,
Norman

2010/2/11 N Kapshoo <nk...@gmail.com>:
> I am not too familiar with JSR250 and JMX, so I will need to read up on it.
>
> I am curious on when you say you use james as a standalone application.
> If so, how do you write your mailets/matchers and deploy them to the
> application? (Like do you use eclipse, then build, then copy??).
>
> Can you say how stable the latest version is?
>
>
> On Thu, Feb 11, 2010 at 6:44 AM, Norman Maurer <norman.maurer@googlemail.com
>> wrote:
>
>> Hi,
>>
>> first of for your requirements current development version of james
>> would be a better fit then the last released stable one. Current
>> development version of james use spring for dependecy injection. There
>> is currently no war file but writing a war deployment shouldn't be to
>> hard (its on my todo list).
>>
>> I use james as standalone application (development version). When
>> using development version of james you could just inject the
>> UsersRepository into your class instance via JSR250 and use it for all
>> kind of user actions. The other solution would be to use jmx.
>>
>> Hope this helps.
>>
>> Bye,
>> Norman
>>
>> Ps: Feel free to poke me again
>>
>> 2010/2/11 N Kapshoo <nk...@gmail.com>:
>> > I want to evaluate James as an integrated mail solution for a very large
>> web
>> > application.
>> >
>> > I have successfully deployed on my local box and used JavaMail to test
>> basic
>> > email.
>> >
>> > What I am unclear about is -
>> > How are production deployments of James typically done? I would be
>> looking
>> > to support a very large volume of email and would also be writing a
>> webmail
>> > solution that sits with the rest of our application.
>> > Is James typically deployed inside a servlet container for production?
>> How
>> > do I go about writing mailets and deploying them?
>> >
>> > Lastly, if I want to create/delete users programmatically, how would my
>> java
>> > code in the container make james server api calls?
>> >
>> > Thanks in advance.
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
>> For additional commands, e-mail: server-user-help@james.apache.org
>>
>>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
For additional commands, e-mail: server-user-help@james.apache.org


Re: Production Deployment

Posted by Norman Maurer <no...@googlemail.com>.
Hi,

you just write them via eclipse (or whatever). Then package them as
.jar and add them to the classpath.

Bye,
Norman


2010/2/11 N Kapshoo <nk...@gmail.com>:
> I am not too familiar with JSR250 and JMX, so I will need to read up on it.
>
> I am curious on when you say you use james as a standalone application.
> If so, how do you write your mailets/matchers and deploy them to the
> application? (Like do you use eclipse, then build, then copy??).
>
> Can you say how stable the latest version is?
>
>
> On Thu, Feb 11, 2010 at 6:44 AM, Norman Maurer <norman.maurer@googlemail.com
>> wrote:
>
>> Hi,
>>
>> first of for your requirements current development version of james
>> would be a better fit then the last released stable one. Current
>> development version of james use spring for dependecy injection. There
>> is currently no war file but writing a war deployment shouldn't be to
>> hard (its on my todo list).
>>
>> I use james as standalone application (development version). When
>> using development version of james you could just inject the
>> UsersRepository into your class instance via JSR250 and use it for all
>> kind of user actions. The other solution would be to use jmx.
>>
>> Hope this helps.
>>
>> Bye,
>> Norman
>>
>> Ps: Feel free to poke me again
>>
>> 2010/2/11 N Kapshoo <nk...@gmail.com>:
>> > I want to evaluate James as an integrated mail solution for a very large
>> web
>> > application.
>> >
>> > I have successfully deployed on my local box and used JavaMail to test
>> basic
>> > email.
>> >
>> > What I am unclear about is -
>> > How are production deployments of James typically done? I would be
>> looking
>> > to support a very large volume of email and would also be writing a
>> webmail
>> > solution that sits with the rest of our application.
>> > Is James typically deployed inside a servlet container for production?
>> How
>> > do I go about writing mailets and deploying them?
>> >
>> > Lastly, if I want to create/delete users programmatically, how would my
>> java
>> > code in the container make james server api calls?
>> >
>> > Thanks in advance.
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
>> For additional commands, e-mail: server-user-help@james.apache.org
>>
>>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
For additional commands, e-mail: server-user-help@james.apache.org


Re: Production Deployment

Posted by N Kapshoo <nk...@gmail.com>.
I am not too familiar with JSR250 and JMX, so I will need to read up on it.

I am curious on when you say you use james as a standalone application.
If so, how do you write your mailets/matchers and deploy them to the
application? (Like do you use eclipse, then build, then copy??).

Can you say how stable the latest version is?


On Thu, Feb 11, 2010 at 6:44 AM, Norman Maurer <norman.maurer@googlemail.com
> wrote:

> Hi,
>
> first of for your requirements current development version of james
> would be a better fit then the last released stable one. Current
> development version of james use spring for dependecy injection. There
> is currently no war file but writing a war deployment shouldn't be to
> hard (its on my todo list).
>
> I use james as standalone application (development version). When
> using development version of james you could just inject the
> UsersRepository into your class instance via JSR250 and use it for all
> kind of user actions. The other solution would be to use jmx.
>
> Hope this helps.
>
> Bye,
> Norman
>
> Ps: Feel free to poke me again
>
> 2010/2/11 N Kapshoo <nk...@gmail.com>:
> > I want to evaluate James as an integrated mail solution for a very large
> web
> > application.
> >
> > I have successfully deployed on my local box and used JavaMail to test
> basic
> > email.
> >
> > What I am unclear about is -
> > How are production deployments of James typically done? I would be
> looking
> > to support a very large volume of email and would also be writing a
> webmail
> > solution that sits with the rest of our application.
> > Is James typically deployed inside a servlet container for production?
> How
> > do I go about writing mailets and deploying them?
> >
> > Lastly, if I want to create/delete users programmatically, how would my
> java
> > code in the container make james server api calls?
> >
> > Thanks in advance.
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
> For additional commands, e-mail: server-user-help@james.apache.org
>
>

Re: Production Deployment

Posted by N Kapshoo <nk...@gmail.com>.
Thanks for the detailed response, Kent.

I agree that the mail server really should be a swappable backend component
and not part of the web-app. However I need to call the APIs for creating a
user, updating pwd etc from my web application. Can you elaborate on how you
do it presently? Do you use a script or the command line to do user
management?

On Thu, Feb 11, 2010 at 8:30 AM, Kent Butler <kb...@englehomes.com> wrote:

> Yes you can construct Mailets in Eclipse and build a jar of just your
> custom classes.
>
> Deploy to James under apps/james/SAR-INF/lib
> You will also need to declare your Mailets in the
> apps/james/SAR-INF/config.xml
> such as
>
>      <mailetpackage>com.myco.crm.mailets</mailetpackage>
>
>         <mailet match="All" class="CRMPersonalizingMailet">
>            <debug>false</debug>
>         </mailet>
>
> We run James as a standalone app on Windows using a service wrapper like
> Tanukisoft. It's a mailserver, it only cares about having access to the
> ports it needs. You can easily do the same in Linux. IMHO it pays to
> keep your mailserver independent of your webapp; they have different
> workflows entirely and it will not serve you well to take your
> mailserver down for webapp maintenance.
>
> BTW the only time we take our mailserver down is to deploy upgrades of
> our custom Mailets. Check around for Mailet development guides, I may
> have left something out - and/or look at existing James Mailets in the
> source to get started.
>
> Kent
>
> -----Original Message-----
> From: Sheetal Pole [mailto:sheetal.pole@gmail.com]
> Sent: Thursday, February 11, 2010 7:52 AM
> To: James Users List
> Subject: Re: Production Deployment
>
> I am not too familiar with JSR250 and JMX, so I will need to read up on
> it.
>
> I am curious on when you say you use james as a standalone application.
> Do you mean you run it as a Linux service?
> If so, how do you write your mailets/matchers and deploy them to the
> application? (Like do you use eclipse, then build, then copy??).
>
> Can you say how stable the latest version is?
>
> On Thu, Feb 11, 2010 at 6:44 AM, Norman Maurer
> <norman.maurer@googlemail.com
> > wrote:
>
> > Hi,
> >
> > first of for your requirements current development version of james
> > would be a better fit then the last released stable one. Current
> > development version of james use spring for dependecy injection. There
>
> > is currently no war file but writing a war deployment shouldn't be to
> > hard (its on my todo list).
> >
> > I use james as standalone application (development version). When
> > using development version of james you could just inject the
> > UsersRepository into your class instance via JSR250 and use it for all
>
> > kind of user actions. The other solution would be to use jmx.
> >
> > Hope this helps.
> >
> > Bye,
> > Norman
> >
> > Ps: Feel free to poke me again
> >
> > 2010/2/11 N Kapshoo <nk...@gmail.com>:
> > > I want to evaluate James as an integrated mail solution for a very
> > > large
> > web
> > > application.
> > >
> > > I have successfully deployed on my local box and used JavaMail to
> > > test
> > basic
> > > email.
> > >
> > > What I am unclear about is -
> > > How are production deployments of James typically done? I would be
> > looking
> > > to support a very large volume of email and would also be writing a
> > webmail
> > > solution that sits with the rest of our application.
> > > Is James typically deployed inside a servlet container for
> production?
> > How
> > > do I go about writing mailets and deploying them?
> > >
> > > Lastly, if I want to create/delete users programmatically, how would
>
> > > my
> > java
> > > code in the container make james server api calls?
> > >
> > > Thanks in advance.
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
> > For additional commands, e-mail: server-user-help@james.apache.org
> >
> >
>
> No virus found in this incoming message.
> Checked by AVG - www.avg.com
> Version: 8.5.435 / Virus Database: 271.1.1/2679 - Release Date: 02/10/10
> 07:40:00
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
> For additional commands, e-mail: server-user-help@james.apache.org
>
>

RE: Production Deployment

Posted by Kent Butler <kb...@englehomes.com>.
Yes you can construct Mailets in Eclipse and build a jar of just your
custom classes. 

Deploy to James under apps/james/SAR-INF/lib
You will also need to declare your Mailets in the
apps/james/SAR-INF/config.xml
such as

      <mailetpackage>com.myco.crm.mailets</mailetpackage>

         <mailet match="All" class="CRMPersonalizingMailet">
            <debug>false</debug>
         </mailet>

We run James as a standalone app on Windows using a service wrapper like
Tanukisoft. It's a mailserver, it only cares about having access to the
ports it needs. You can easily do the same in Linux. IMHO it pays to
keep your mailserver independent of your webapp; they have different
workflows entirely and it will not serve you well to take your
mailserver down for webapp maintenance. 
 
BTW the only time we take our mailserver down is to deploy upgrades of
our custom Mailets. Check around for Mailet development guides, I may
have left something out - and/or look at existing James Mailets in the
source to get started.

Kent

-----Original Message-----
From: Sheetal Pole [mailto:sheetal.pole@gmail.com] 
Sent: Thursday, February 11, 2010 7:52 AM
To: James Users List
Subject: Re: Production Deployment

I am not too familiar with JSR250 and JMX, so I will need to read up on
it.

I am curious on when you say you use james as a standalone application.
Do you mean you run it as a Linux service?
If so, how do you write your mailets/matchers and deploy them to the
application? (Like do you use eclipse, then build, then copy??).

Can you say how stable the latest version is?

On Thu, Feb 11, 2010 at 6:44 AM, Norman Maurer
<norman.maurer@googlemail.com
> wrote:

> Hi,
>
> first of for your requirements current development version of james 
> would be a better fit then the last released stable one. Current 
> development version of james use spring for dependecy injection. There

> is currently no war file but writing a war deployment shouldn't be to 
> hard (its on my todo list).
>
> I use james as standalone application (development version). When 
> using development version of james you could just inject the 
> UsersRepository into your class instance via JSR250 and use it for all

> kind of user actions. The other solution would be to use jmx.
>
> Hope this helps.
>
> Bye,
> Norman
>
> Ps: Feel free to poke me again
>
> 2010/2/11 N Kapshoo <nk...@gmail.com>:
> > I want to evaluate James as an integrated mail solution for a very 
> > large
> web
> > application.
> >
> > I have successfully deployed on my local box and used JavaMail to 
> > test
> basic
> > email.
> >
> > What I am unclear about is -
> > How are production deployments of James typically done? I would be
> looking
> > to support a very large volume of email and would also be writing a
> webmail
> > solution that sits with the rest of our application.
> > Is James typically deployed inside a servlet container for
production?
> How
> > do I go about writing mailets and deploying them?
> >
> > Lastly, if I want to create/delete users programmatically, how would

> > my
> java
> > code in the container make james server api calls?
> >
> > Thanks in advance.
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
> For additional commands, e-mail: server-user-help@james.apache.org
>
>

No virus found in this incoming message.
Checked by AVG - www.avg.com
Version: 8.5.435 / Virus Database: 271.1.1/2679 - Release Date: 02/10/10
07:40:00

---------------------------------------------------------------------
To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
For additional commands, e-mail: server-user-help@james.apache.org


Re: Production Deployment

Posted by Sheetal Pole <sh...@gmail.com>.
I am not too familiar with JSR250 and JMX, so I will need to read up on it.

I am curious on when you say you use james as a standalone application. Do
you mean you run it as a Linux service?
If so, how do you write your mailets/matchers and deploy them to the
application? (Like do you use eclipse, then build, then copy??).

Can you say how stable the latest version is?

On Thu, Feb 11, 2010 at 6:44 AM, Norman Maurer <norman.maurer@googlemail.com
> wrote:

> Hi,
>
> first of for your requirements current development version of james
> would be a better fit then the last released stable one. Current
> development version of james use spring for dependecy injection. There
> is currently no war file but writing a war deployment shouldn't be to
> hard (its on my todo list).
>
> I use james as standalone application (development version). When
> using development version of james you could just inject the
> UsersRepository into your class instance via JSR250 and use it for all
> kind of user actions. The other solution would be to use jmx.
>
> Hope this helps.
>
> Bye,
> Norman
>
> Ps: Feel free to poke me again
>
> 2010/2/11 N Kapshoo <nk...@gmail.com>:
> > I want to evaluate James as an integrated mail solution for a very large
> web
> > application.
> >
> > I have successfully deployed on my local box and used JavaMail to test
> basic
> > email.
> >
> > What I am unclear about is -
> > How are production deployments of James typically done? I would be
> looking
> > to support a very large volume of email and would also be writing a
> webmail
> > solution that sits with the rest of our application.
> > Is James typically deployed inside a servlet container for production?
> How
> > do I go about writing mailets and deploying them?
> >
> > Lastly, if I want to create/delete users programmatically, how would my
> java
> > code in the container make james server api calls?
> >
> > Thanks in advance.
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
> For additional commands, e-mail: server-user-help@james.apache.org
>
>

Re: Production Deployment

Posted by Norman Maurer <no...@googlemail.com>.
Hi,

first of for your requirements current development version of james
would be a better fit then the last released stable one. Current
development version of james use spring for dependecy injection. There
is currently no war file but writing a war deployment shouldn't be to
hard (its on my todo list).

I use james as standalone application (development version). When
using development version of james you could just inject the
UsersRepository into your class instance via JSR250 and use it for all
kind of user actions. The other solution would be to use jmx.

Hope this helps.

Bye,
Norman

Ps: Feel free to poke me again

2010/2/11 N Kapshoo <nk...@gmail.com>:
> I want to evaluate James as an integrated mail solution for a very large web
> application.
>
> I have successfully deployed on my local box and used JavaMail to test basic
> email.
>
> What I am unclear about is -
> How are production deployments of James typically done? I would be looking
> to support a very large volume of email and would also be writing a webmail
> solution that sits with the rest of our application.
> Is James typically deployed inside a servlet container for production? How
> do I go about writing mailets and deploying them?
>
> Lastly, if I want to create/delete users programmatically, how would my java
> code in the container make james server api calls?
>
> Thanks in advance.
>

---------------------------------------------------------------------
To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
For additional commands, e-mail: server-user-help@james.apache.org