[weld-issues] [JBoss JIRA] (WELD-994) Passivating Beans do not allow Injection of non-serializable Instance injections
Marko Lukša (JIRA)
jira-events at lists.jboss.org
Mon Mar 19 10:03:49 EDT 2012
[ https://issues.jboss.org/browse/WELD-994?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Marko Lukša resolved WELD-994.
------------------------------
Fix Version/s: (was: 1.2.0.Beta1)
Resolution: Won't Fix
Reverted.
> Passivating Beans do not allow Injection of non-serializable Instance injections
> --------------------------------------------------------------------------------
>
> Key: WELD-994
> URL: https://issues.jboss.org/browse/WELD-994
> Project: Weld
> Issue Type: Bug
> Components: Producers (Methods, Fields and Disposers)
> Affects Versions: 1.1.2.Final
> Environment: AS 7.0.2
> WELD-000900 1.1.2 (Final)
> Reporter: Cody Lerum
> Assignee: Marko Lukša
>
> Given the following Code
> {code:java}
> @ConversationScoped
> @Named
> public class EmailTester implements Serializable {
> private static final long serialVersionUID = 1L;
> @Inject
> private Instance<MailMessage> mailMessage;
> @Inject
> private ActiveUser activeUser;
> @Inject
> private Messages messages;
>
> @Inject
> private Instance<Session> session;
> public void send()
> {
> MailMessage m = mailMessage.get();
> m.from(activeUser.getUser());
> m.to(activeUser.getUser());
> m.subject("test");
> m.bodyText("Blah blah blah");
> m.send(session.get());
> messages.info("Message Sent");
> }
> }
> {code}
> Weld throws
> org.jboss.weld.exceptions.IllegalProductException: WELD-000054 Producers cannot produce non-serializable instances for injection into non-transient fields of passivating beans\\n\\nProducer\: Producer Method [Session] with qualifiers [@Any @Default] declared as [[method] @Produces @ExtensionManaged public org.jboss.seam.mail.core.MailSessionProducer.getMailSession(MailConfig)]\\nInjection Point\: org.jboss.weld.bean.builtin.InstanceImpl$InstanceInjectionPoint at 2146ca: javax.faces.FacesException: #{emailTester.send()}: org.jboss.weld.exceptions.IllegalProductException: WELD-000054 Producers cannot produce non-serializable instances for injection into non-transient fields of passivating beans\\n\\nProducer\: Producer Method [Session] with qualifiers [@Any @Default] declared as [[method] @Produces @ExtensionManaged public org.jboss.seam.mail.core.MailSessionProducer.getMailSession(MailConfig)]\\nInjection Point\: org.jboss.weld.bean.builtin.InstanceImpl$InstanceInjectionPoint at 2146ca
> Since a new instance is returned each time a get() is called it should not matter that the javax.mail.Session is not non-serializable
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the weld-issues
mailing list