[jbossseam-issues] [JBoss JIRA] Commented: (JBSEAM-4166) SeamMail - Trying to lazily fetch the image to add to the email causes the lazy exception

Tony Herstell (JIRA) jira-events at lists.jboss.org
Thu May 7 16:14:46 EDT 2009


    [ https://jira.jboss.org/jira/browse/JBSEAM-4166?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12466377#action_12466377 ] 

Tony Herstell commented on JBSEAM-4166:
---------------------------------------

package nz.co.selwynequestriancentre.action.mailingList;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.ejb.Remove;
import javax.ejb.Stateful;
import javax.ejb.TransactionAttribute;
import javax.ejb.TransactionAttributeType;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import nz.co.selwynequestriancentre.model.entity.User;

import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Begin;
import org.jboss.seam.annotations.Conversational;
import org.jboss.seam.annotations.Destroy;
import org.jboss.seam.annotations.End;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Logger;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Out;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.contexts.Contexts;
import org.jboss.seam.faces.Renderer;
import org.jboss.seam.international.StatusMessages;
import org.jboss.seam.international.StatusMessage.Severity;
import org.jboss.seam.log.Log;

/**
 * @author Tony Herstell
 * @version $Revision: 1.22 $ $Date: 2009-04-04 01:36:52 $
 */
@SuppressWarnings("serial")
@Stateful
@Name("mailingListController")
@Conversational
@Scope(value=ScopeType.CONVERSATION)
public class MailingListControllerImpl implements MailingListController, Serializable {

	/**
	 * Inject and leverage the Seam Logger.
	 */
	@Logger
	private Log log;
	
	@In(required=false)
	@Out
	private String subjectText;
	
	@In(required=false)
	@Out
	private String messageText;

	@In(create = true)
	private Renderer renderer;
	
	@In
	private AsynchronousMailProcessor asynchronousMailProcessor;
	
	private boolean testOnly = false;
	
	private List<User> recipients;
	
	/**
	 * Inject the EJB3 Persistence.
	 */
	@PersistenceContext
	private EntityManager entityManager;
    
    /**
     * Inject the Status Messages component so that messages (errors and info) can be sent to the View
     */
    @In(create = true)
    private transient StatusMessages statusMessages;
    
	@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
	@Begin
	public String enter() {
		subjectText = "[Selwyn Equestrian Centre]";
		messageText = "<img src=\"http://www.selwynequestriancentre.co.nz/site/images/sec_logo.gif\" width=\"200\"/> \r\n <img src=\"http://www.selwynequestriancentre.co.nz/site/images/sec_dressage_horse.gif\" width=\"200\"/> \r\n <img src=\"http://www.selwynequestriancentre.co.nz/site/images/sec_jumping_horse.gif\" width=\"200\"/> \r\n <img src=\"http://www.selwynequestriancentre.co.nz/site/images/background_flames_sm.gif\"/>";
		testOnly = false;
		return "mailingList";
	}
	
	@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
	public String preview() {
		return null;
    }
	
	@TransactionAttribute(TransactionAttributeType.REQUIRED)
	@End
	public String sendToMailingList() {
		try {
			recipients = new ArrayList<User>();
			//List<User> remainingRecipients = new ArrayList<User>();
			if (testOnly) {
				User tony = (User) entityManager.createQuery("from User u where u.email = :email").setParameter("email", "tony.herstell at selwynequestriancentre.co.nz").getSingleResult();
				sendEmailToUser(tony);
			} else {
				MailingListBuilder mailingListBuilder = new MailingListBuilder();
				recipients = mailingListBuilder.getMailingList(entityManager);

				boolean okToAdd = false;
				for (User eachUser : recipients) {	
					if (eachUser.getEmail().equalsIgnoreCase("sandy.purvis at gmail.com")) {
						okToAdd = true;
					} else {
						if (okToAdd) {
								sendEmailToUser(eachUser);
						} else {
							log.info("### EMAIL ### skipping: " + eachUser.getEmail());	
						}
					}
				}
			}
			
			// Add these line to make sending of email non-asynch
			//Contexts.getEventContext().set("recipients", recipients); // recipients or remainingRecipients
			//renderer.render("/WEB-INF/pages/mailingList/mailingListEmailWrapper.xhtml");
			
			// Add this line to make sending of email asynch
			//asynchronousMailProcessor.scheduleSend(3000, recipients);
			
			statusMessages.addFromResourceBundle(Severity.INFO,"mailing_list_emailed_successfully");

	    	log.info("Mailing List Email(s) sent!");
	    } catch (Exception e) {
	    	log.error("Mailing List Email(s) sending failed: "+e);
	    }
	    return "success";
    }

	@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
	private void sendEmailToUser(User user) {
		if (user.getSurname() == null) {
			log.info("### EMAIL ### trying to email: " + user.getEmail());
		} else {
			log.info("### EMAIL ### trying to email: " + user.getEmail() + " for " + user.getSurname() + "," + user.getFirstname());
		}
	    Contexts.getEventContext().set("recipient", user);
	    renderer.render("/WEB-INF/pages/mailingList/mailingListEmailWrapper.xhtml");
	    if (user.getSurname() == null) {
	    	log.info("### EMAIL ### emailed: " + user.getEmail());
	    } else {
	    	log.info("### EMAIL ### emailed: " + user.getEmail() + " for " + user.getSurname() + "," + user.getFirstname() + " Successfully.");
	    }
    }
	
	@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
	public boolean isTestOnly() {
	    return testOnly;
    }

	@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
	public void setTestOnly(boolean testOnly) {
		this.testOnly = testOnly;	    
    }
	
	@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
	@End
	public String cancel() {
		log.info(">cancel");
		log.info("<cancel");
		return "home";
	}

	@Remove
	@Destroy
	@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
	public void destroy() {
		log.info("> destory");
		log.info("< destory");
	}

}


> SeamMail - Trying to lazily fetch the image to add to the email causes the lazy exception
> -----------------------------------------------------------------------------------------
>
>                 Key: JBSEAM-4166
>                 URL: https://jira.jboss.org/jira/browse/JBSEAM-4166
>             Project: Seam
>          Issue Type: Bug
>          Components: Mail
>    Affects Versions: 2.1.2.CR1
>         Environment: WinXP64 running as hot-synch in MyEclipse with java 6 as JDK
> Ubuntu
> Same fault since email first appeared.
>            Reporter: Tony Herstell
>            Assignee: Pete Muir
>
> When sending out upto 500 emails (mailing list) non asynch:
> 07:24:13,859 INFO  [MailingListControllerImpl] ### EMAIL ### trying to email: xxxxxx at hotmail.com for XXXXX,XXXXX
> 07:24:16,796 WARN  [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.BasicAction_58] - Abort of action id -3f57fe38:afd:4a032de0:c6 invoked while multiple threads active within it.
> 07:24:16,796 WARN  [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.CheckedAction_2] - CheckedAction::check - atomic action -3f57fe38:afd:4a032de0:c6 aborting with 1 threads active!
> ...
> then 
> ...
> 07:26:12,875 INFO  [MailingListControllerImpl] ### EMAIL ### trying to email: XXXXX at gmail.com for XXXX,XXXXX
> 07:26:12,890 ERROR [LazyInitializationException] could not initialize proxy - no Session
> org.hibernate.LazyInitializationException: could not initialize proxy - no Session
> 	at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:57)
> 	at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:111)
> 	at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:166)
> 	at nz.co.selwynequestriancentre.model.entity.Image_$$_javassist_10.getImage(Image_$$_javassist_10.java)
> 	at sun.reflect.GeneratedMethodAccessor677.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at javax.el.BeanELResolver.getValue(BeanELResolver.java:62)
> 	at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
> 	at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:64)
> 	at org.jboss.el.parser.AstPropertySuffix.getValue(AstPropertySuffix.java:53)
> 	at org.jboss.el.parser.AstValue.getValue(AstValue.java:67)
> 	at org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
> 	at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
> 	at org.jboss.seam.mail.ui.MailComponent.getValue(MailComponent.java:179)
> 	at org.jboss.seam.mail.ui.UIAttachment.getValue(UIAttachment.java:65)
> 	at org.jboss.seam.mail.ui.UIAttachment.encodeEnd(UIAttachment.java:109)
> 	at org.jboss.seam.ui.util.cdk.RendererBase.renderChild(RendererBase.java:190)
> 	at org.jboss.seam.ui.util.cdk.RendererBase.renderChildren(RendererBase.java:166)
> 	at org.jboss.seam.ui.renderkit.FragmentRendererBase.doEncodeChildren(FragmentRendererBase.java:29)
> 	at org.jboss.seam.ui.util.cdk.RendererBase.encodeChildren(RendererBase.java:92)
> 	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
> 	at org.jboss.seam.ui.util.JSF.renderChild(JSF.java:175)
> 	at org.jboss.seam.ui.util.JSF.renderChildren(JSF.java:163)
> 	at org.jboss.seam.mail.ui.MailComponent.encode(MailComponent.java:85)
> 	at org.jboss.seam.mail.ui.MailComponent.encode(MailComponent.java:59)
> 	at org.jboss.seam.mail.ui.UIBody.encodeChildren(UIBody.java:44)
> 	at org.jboss.seam.ui.util.JSF.renderChild(JSF.java:175)
> 	at org.jboss.seam.ui.util.JSF.renderChildren(JSF.java:163)
> 	at org.jboss.seam.mail.ui.UIMessage.encodeChildren(UIMessage.java:192)
> 	at org.jboss.seam.ui.util.JSF.renderChild(JSF.java:175)
> 	at org.jboss.seam.ui.util.JSF.renderChildren(JSF.java:163)
> 	at org.jboss.seam.ui.facelet.RendererRequest.renderFacelet(RendererRequest.java:136)
> 	at org.jboss.seam.ui.facelet.RendererRequest.run(RendererRequest.java:103)
> 	at org.jboss.seam.ui.facelet.FaceletsRenderer.render(FaceletsRenderer.java:43)
> 	at nz.co.selwynequestriancentre.action.mailingList.MailingListControllerImpl.sendEmailToUser(MailingListControllerImpl.java:144)
> 	at nz.co.selwynequestriancentre.action.mailingList.MailingListControllerImpl.sendToMailingList(MailingListControllerImpl.java:112)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
> 	at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
> 	at org.jboss.seam.intercept.EJBInvocationContext.proceed(EJBInvocationContext.java:44)
> 	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
> 	at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28)
> 	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
> 	at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:77)
> 	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
> 	at org.jboss.seam.core.ConversationInterceptor.aroundInvoke(ConversationInterceptor.java:56)
> 	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
> 	at org.jboss.seam.core.ConversationalInterceptor.aroundInvoke(ConversationalInterceptor.java:43)
> 	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
> 	at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44)
> 	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
> 	at org.jboss.seam.persistence.EntityManagerProxyInterceptor.aroundInvoke(EntityManagerProxyInterceptor.java:29)
> 	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
> 	at org.jboss.seam.persistence.HibernateSessionProxyInterceptor.aroundInvoke(HibernateSessionProxyInterceptor.java:30)
> 	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
> 	at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
> 	at org.jboss.seam.intercept.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:50)
> 	at sun.reflect.GeneratedMethodAccessor160.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:118)
> 	at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
> 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> 	at org.jboss.ejb3.entity.ExtendedPersistenceContextPropagationInterceptor.invoke(ExtendedPersistenceContextPropagationInterceptor.java:57)
> 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> 	at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
> 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> 	at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
> 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> 	at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126)
> 	at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:195)
> 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> 	at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
> 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> 	at org.jboss.ejb3.stateful.StatefulInstanceInterceptor.invoke(StatefulInstanceInterceptor.java:83)
> 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> 	at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
> 	at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:106)
> 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> 	at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
> 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> 	at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
> 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> 	at org.jboss.ejb3.stateful.StatefulContainer.localInvoke(StatefulContainer.java:204)
> 	at org.jboss.ejb3.stateful.StatefulLocalProxy.invoke(StatefulLocalProxy.java:100)
> 	at $Proxy141.sendToMailingList(Unknown Source)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
> 	at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:32)
> 	at org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:76)
> 	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
> 	at org.jboss.seam.ejb.RemoveInterceptor.aroundInvoke(RemoveInterceptor.java:43)
> 	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
> 	at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
> 	at org.jboss.seam.intercept.ClientSideInterceptor.invoke(ClientSideInterceptor.java:54)
> 	at org.javassist.tmp.java.lang.Object_$$_javassist_seam_10.sendToMailingList(Object_$$_javassist_seam_10.java)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:335)
> 	at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:348)
> 	at org.jboss.el.parser.AstPropertySuffix.invoke(AstPropertySuffix.java:58)
> 	at org.jboss.el.parser.AstValue.invoke(AstValue.java:96)
> 	at org.jboss.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
> 	at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
> 	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
> 	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
> 	at javax.faces.component.UICommand.broadcast(UICommand.java:383)
> 	at org.ajax4jsf.component.AjaxActionComponent.broadcast(AjaxActionComponent.java:55)
> 	at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321)
> 	at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:296)
> 	at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253)
> 	at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:466)
> 	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
> 	at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
> 	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
> 	at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
> 	at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
> 	at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:390)
> 	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:517)
> 	at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> 	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
> 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
> 	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
> 	at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:437)
> 	at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:381)
> 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> Feel as if the entity manager times out? and as such trying to lazily fetch the image to add to the email causes the lazy exception.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the seam-issues mailing list