[
https://issues.apache.org/jira/browse/OWB-589?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13057085#comment-13057085
]
Mark Struberg commented on OWB-589:
-----------------------------------
The target must (acc to 6.6.4) check
"throw an IllegalProductException. If a producer method or field of scope
@Dependent returns an unserializable object for injection into an injection
point that requires a passivation capable dependency, the container must throw
an Illegal- ProductException"
The question now is what "injection point that requires a passivation capable
dependency".
Imo we are currently too strict about that and we should do something like:
IF (injectionpoint is in passivatable scope AND retVal IS_NOT Serializable
AND NOT ( injectionpoint hasMethod("writeObject") OR injectionpoint
hasMethod("writeExternal") )
throw IllegalProductException...
I'll create a series of unit tests for it.
> " ... requires a passivation capable dependency ..." for producer method with
> return type String and non serializable injected dependency
> -----------------------------------------------------------------------------------------------------------------------------------------
>
> Key: OWB-589
> URL: https://issues.apache.org/jira/browse/OWB-589
> Project: OpenWebBeans
> Issue Type: Bug
> Components: Injection and Lookup
> Affects Versions: 1.1.0
> Environment: OWB 1.1.1-SNAPSHOT
> Reporter: Martin Kočí
> Assignee: Gurkan Erdogdu
> Priority: Minor
>
> For @Produces method like:
> @Produces
> @MyOwnQualifier
> public String getSomeString(NonserializableDependency dependency) {
> return dependency.getSomeString();
> }
> I've got exception:
> "If a producer method or field of scope @Dependent returns an serializable
> object for injection into an injection point Method Injection Point, method
> name : getSomeString, Bean Owner : [String, Name:null, WebBeans
> Type:PRODUCERMETHOD, API
> Types:[java.lang.Object,java.lang.Comparable,java.io.Serializable,java.lang.CharSequence,java.lang.String],
> Qualifiers:[javax.enterprise.inject.Any,MyOwnQualifier]] that requires a
> passivation capable dependency"
> I don't understand much what does it say :), but with some help from
> debugger OWB validates for Serializable the injected parameter in producer
> method - NonserializableDependency dependency in this case.
> I checked the same with WELD 1.1.1 and it works without exception.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira