While I thought that it would be simple to drop in Bamboo, my setup presented me with some headaches.
Three times the container was going completely down (the downside of the all in one setup) during the Bamboo JIRA integration part.
I decided to tune up my memory settings, in particular
-Xmx1280 and-XX:MaxPermSize=384mSo far this seems to have stabilized the system at least enough to finish the Quest and send in the Screenshot :)

Here is a shot of the memory graphs in Jira:

Looks good, but there is a lot of PermGen space that is likely to be taken up by the huge amount of classes.
I will try to shrink this moving identical libraries to be shared between all webapps.
However, I am still investigating the Exceptions, and will try to setup my own projects to exercise everything and see if it's a viable system setup to work with (kind of semi-test, semi-production).
Problems with the Bamboo Integration:
It's important not to forget to assign bamboo-admin to your user on crowd. This caused me a minor hiccup (I am already caching the SSO, so I had to start everything through).
Problems with the Bamboo Build:
Maven....maven....maven *argl*See http://bit.ly/12y5Xt Value 2, "Don't use maven", I can't agree more.
Hiccup in the black-box :) I followed through the forum, and installed the activation.jar by hand, then a manual build on the shell to make things work out.
One thing that also took quite some time, was to figure out how to configure a secure SMTP server as a resource in Resin 3.1.9. Ended up hacking the following class and packaging it in a jar into the
${resin.home}/lib directory
package net.wimpi.mail;
import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;
/**
* Extends the Authenticator to provide authentication
* for a session configured in the container configuration.
*/
public class SimpleAuthenticator extends Authenticator {
private String m_Username;
private PasswordAuthentication m_Auth;
public void setUsername(String username) {
m_Username = username;
}//setUsername
public void setPassword(String password) {
m_Auth = new PasswordAuthentication(m_Username, password);
}//setPassword
public PasswordAuthentication getPasswordAuthentication() {
return m_Auth;
}//getPasswordAuthentication
}//SimpleAuthenticator
The JNDI resource can be configured (I'd suggest to do it in the host's section, except you are going to use different servers for your different webapps):
<!-- Mail Server Resource -->
<mail>
<jndi-name>mail/ArimdiSmtpServer</jndi-name>
<authenticator type="net.wimpi.mail.SimpleAuthenticator">
<init>
<username>admin@yourdomain.com</username>
<password>********</password>
</init>
</authenticator>
<smtp-host>smtp.gmail.com</smtp-host>
<smtp-port>465</smtp-port>
<smtp-user>admin@yourdomain.com</smtp-user>
<smtp-ssl>true</smtp-ssl>
<init>mail.smtp.starttls.enable=true mail.smtp.auth=true mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory mail.debug=true</init>
</mail>
Also, don't forget to remove the activation and javamail jars from the
WEB-INF/lib of Jira, Confluence, Bamboo and Crowd.So far so good :)
Good luck to everybody: and remember, it's possible :)

