[ 
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


Reply via email to