Mantis - Resin
Viewing Issue Advanced Details
5531 minor always 09-19-13 04:51 09-23-13 10:46
cowan  
ferg  
normal  
closed 4.0.36  
fixed  
none    
none 4.0.38  
0005531: @Observes is not called for Interfaces with generic
OmniFaces 1.6 is using two extensions that act upon JSF converters and validators. These observe the ProcessManagedBean event for resp. the javax.faces.convert.Converter and javax.faces.validator.Validator types (both are interfaces).

E.g.

protected void processValidators(@Observes ProcessManagedBean<Validator> validator)

The problem is that this method is never called on Resin, but it IS called on every other Java EE 6 implementation I tried it with (JBoss EAP 6.1, GlassFish 3.1.2, TomEE 1.5.3, Liberty 8.5.5, etc).

If I remove the generic parameter then Resin does call the method, e.g.

protected void processValidators(@Observes ProcessManagedBean validator)

And if the generic parameter is a class type instead of an interface type it works as well, e.g.

public class MyClass { ...}

protected void processValidators(@Observes ProcessManagedBean<MyClass> validator)

See https://code.google.com/p/omnifaces/issues/detail?id=183 [^] for more information about this particular issue.
Rep by A Tijms

Notes
(0006322)
ferg   
09-23-13 10:46   
ioc/0p68