I'm using seam 1.2.1GA inside resin 3.0.24.  I'm not using EJB.  I am using JPA.

Here is segment of log output with the top of the stack trace to the error I am 
facing:


  | [08:09:18.736] FINE org.jboss.seam.core.Events Processing 
event:org.jboss.seam.postCreate.em
  | [08:20:06.868] FINE org.jboss.seam.jsf.SeamVariableResolver resolving name: 
broadcastEntityManagerFactory
  | [08:20:06.915] FINE org.jboss.seam.contexts.Contexts found in application 
context: broadcastEntityManagerFactory
  | [08:20:06.915] FINE org.jboss.seam.jsf.SeamVariableResolver Seam component 
resolved, but unwrap method returned null
  | [08:20:06.925] FINE org.apache.myfaces.el.PropertyResolverImpl Exception 
while retrieving property; base : 
com.gc.web.pages.MapSubAccountsHelper1_$$_javassist_0, property : hello
  | [08:20:06.925]java.lang.NullPointerException
  | [08:20:06.925]  at 
org.jboss.seam.core.ManagedPersistenceContext.initEntityManager(ManagedPersistenceContext.java:77)
  | [08:20:06.925]  at 
org.jboss.seam.core.ManagedPersistenceContext.getEntityManager(ManagedPersistenceContext.java:105)
  | [08:20:06.925]  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)
  | [08:20:06.925]  at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  | [08:20:06.925]  at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  | [08:20:06.925]  at java.lang.reflect.Method.invoke(Method.java:597)
  | [08:20:06.925]  at 
org.jboss.seam.util.Reflections.invoke(Reflections.java:20)
  | [08:20:06.925]  at 
org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:123)
  | [08:20:06.925]  at 
org.jboss.seam.Component.callComponentMethod(Component.java:1834)
  | 
  | 


I am using eclipse to single step through the seam code.  I use 'evaluate java 
expression' feature.

 org.jboss.seam.coreExpressions.getValue is the lowest my 


  |          public Object getValue()
  |          {
  |             if ( isFacesContext() )
  |             {
  |                return getFacesValueBinding().getValue( 
FacesContext.getCurrentInstance() );
  |             }
  |             else
  |             {
  |                return getValueExpression().getValue(EL_CONTEXT);
  |             }
  |          }
  | 

Here are eclipse' evaluations of some of the expressions:


  |      getFacesValueBinding().getValue( FacesContext.getCurrentInstance() )
  |      null
  | 


  |      getFacesValueBinding()
  |      (org.apache.myfaces.el.ValueBindingImpl) 
#{broadcastEntityManagerFactory}
  | 


OK, so I go abit further in my debug session.  I get down to:

  | SeamVariableResolver.resolveVariable(FacesContext, String) line: 57 
  | LastVariableResolverInChain.resolveVariable(FacesContext, String) line: 42  
  | ValueBindingImpl$ELVariableResolver.resolveVariable(String) line: 574       
  | NamedValue.evaluate(VariableResolver, FunctionMapper, Logger) line: 124     
  | ValueBindingImpl.getValue(FacesContext) line: 383   
  | Expressions$1.getValue() line: 69   
  | ManagedPersistenceContext.getEntityManagerFactoryFromJndiOrValueBinding() 
line: 169
  | 

The call to Component.forName() returns non-null:

  | component   Component  (id=9135)    
  |     beanClass       Class<T> (org.jboss.seam.core.EntityManagerFactory) 
(id=2554)
  |         ...
  | 

The logic for this case is for the resolver to return null?


  | 57 if( component == null)
  | 58 {
  | ...
  | 70 }
  | 71 else
  | 72 {
  | 72          log.debug("Seam component resolved, but unwrap method returned 
null");
  | 73          return null;
  | 74   }
  | 
  | 


Here is my components.xml (seam 1.2.1)


  |   <core:entity-manager-factory name="broadcastEntityManagerFactory"
  |      persistence-unit-name="broadcast"  />
  | 
  |   <core:managed-persistence-context name="em" auto-create="true"
  |         entity-manager-factory="#{broadcastEntityManagerFactory}"/>
  | 

Here is log output showing the seam groks the components.xml file:

  | [08:08:09.036] INFO org.jboss.seam.init.Initialization Installing 
components...
  | [08:08:09.069] INFO org.jboss.seam.Component Component: 
broadcastEntityManagerFactory, scope: APPLICATION, type: JAVA_BEAN, class: 
org.jboss.seam.core.EntityManagerFactory
  | Sep 5, 2007 8:08:09 AM org.jboss.seam.Component <init>
  | INFO: Component: broadcastEntityManagerFactory, scope: APPLICATION, type: 
JAVA_BEAN, class: org.jboss.seam.core.EntityManagerFactory
  | [08:08:09.070] INFO org.jboss.seam.Component Component: 
broadcastEntityManagerFactory, scope: APPLICATION, type: JAVA_BEAN, class: 
org.jboss.seam.core.EntityManagerFactory
  | [08:08:09.077] FINE org.jboss.seam.Component 
broadcastEntityManagerFactory.persistenceUnitName=broadcast
  | [08:08:09.079] FINE org.jboss.seam.Component seam component not found: 
org.jboss.seam.core.events
  | [08:08:09.080] FINE org.jboss.seam.Component seam component not found: 
org.jboss.seam.core.events
  | [08:08:09.082] INFO org.jboss.seam.Component Component: em, scope: 
CONVERSATION, type: JAVA_BEAN, class: 
org.jboss.seam.core.ManagedPersistenceContext
  | Sep 5, 2007 8:08:09 AM org.jboss.seam.Component <init>
  | INFO: Component: em, scope: CONVERSATION, type: JAVA_BEAN, class: 
org.jboss.seam.core.ManagedPersistenceContext
  | [08:08:09.082] INFO org.jboss.seam.Component Component: em, scope: 
CONVERSATION, type: JAVA_BEAN, class: 
org.jboss.seam.core.ManagedPersistenceContext
  | [08:08:09.291] FINE org.jboss.seam.Component 
em.entityManagerFactory=#{broadcastEntityManagerFactory}
  | [08:08:09.294] FINE org.jboss.seam.Component seam component not found: 
org.jboss.seam.core.events
  | [08:08:09.294] FINE org.jboss.seam.Component seam component not found: 
org.jboss.seam.core.events
  | 
  | 

And, of course I have a persistence unit named 'broadcast', which I would post 
but I don't think it is relevant.


Any comment or recommendations?

Thanks,
John



View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4081312#4081312

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4081312
_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to