You can find the full source code for this website in the Seam package in the directory /examples/wiki. It is licensed under the LGPL.
| Online: | 30 Members of 4186 |
| Forum: Seam Users |
05. Sep 2008, 21:34 CET | Link |
I am unable to run my application with Seam 2.0.3 because of JIRA 3274. Since this is reported as fixed in Seam 2.1b1, I tried upgrading. Unfortunately, I have run into another blocking problem -- inability to deploy.
I'm using NetBeans 6.1, Glassfish V2ur2, Hibernate 3.3.0 (and associated Hibernate Annotations, EntityManager, Validator, and Search).
It's failing with a javax.ejb.EJBException: nested exception is: javax.ejb.CreateException: Could not create stateless EJB (full stack trace below).
The EJBs in question are UtilityBean and DataFileLoaderBean, which references UtilityLocal. The DataFileLoaderBean is called only by the javax.ejb.TimerService.
Below, I include the EJB references in my web.xml file, and portions of DataFileLoaderBean and UtilityBean.
DataFileLoaderBean
@javax.ejb.Stateless
public class DataFileLoaderBean implements com.unclejoes.ejb.DataFileLoaderRemote, com.unclejoes.ejb.DataFileLoaderLocal {
private static class TimerInfo implements Serializable {
@Resource TimerService _timerService;
@EJB
private UtilityLocal utilityFacade;
@EJB
private FullTextIndexerLocal _fullTextIndexer;
...
}
UtilityBean
@Stateful
@Scope(ScopeType.SESSION)
@Name("utilityBean")
public class UtilityBean implements UtilityLocal {
@Create
public void init() {
}
...
@Remove @Destroy
public void destroy() {}
}
web.xml
<ejb-local-ref>
<ejb-ref-name>UncleJoes-ejb/ShoppingCartBean/local</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local>com.unclejoes.ejb.ShoppingCartLocal</local>
<ejb-link>ShoppingCartBean</ejb-link>
</ejb-local-ref>
<ejb-local-ref>
<ejb-ref-name>UncleJoes-ejb/ProductSearchBean/local</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local>com.unclejoes.ejb.ProductSearchLocal</local>
<ejb-link>ProductSearchBean</ejb-link>
</ejb-local-ref>
<ejb-local-ref>
<ejb-ref-name>UncleJoes-ejb/CatalogItemFacade/local</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local>com.unclejoes.facade.CatalogItemFacadeLocal</local>
<ejb-link>CatalogItemFacade</ejb-link>
</ejb-local-ref>
<ejb-local-ref>
<ejb-ref-name>UncleJoes-ejb/DepartmentFacade/local</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local>com.unclejoes.facade.DepartmentFacadeLocal</local>
<ejb-link>DepartmentItemFacade</ejb-link>
</ejb-local-ref>
<ejb-local-ref>
<ejb-ref-name>UncleJoes-ejb/ProductClassFacade/local</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local>com.unclejoes.facade.ProductClassFacadeLocal</local>
<ejb-link>ProductClassItemFacade</ejb-link>
</ejb-local-ref>
<ejb-local-ref>
<ejb-ref-name>UncleJoes-ejb/ProductSubclassFacade/local</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local>com.unclejoes.facade.ProductSubclassFacadeLocal</local>
<ejb-link>ProductSubclassItemFacade</ejb-link>
</ejb-local-ref>
<ejb-local-ref>
<ejb-ref-name>UncleJoes-ejb/GlobalAdminBean/local</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local>com.unclejoes.ejb.admin.GlobalAdminLocal</local>
<ejb-link>GlobalAdminBean</ejb-link>
</ejb-local-ref>
<ejb-local-ref>
<ejb-ref-name>UncleJoes-ejb/SubclassPricingBean/local</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local>com.unclejoes.ejb.admin.SubclassPricingLocal</local>
<ejb-link>SubclassPricingBean</ejb-link>
</ejb-local-ref>
<ejb-local-ref>
<ejb-ref-name>UncleJoes-ejb/ProductOverrideBean/local</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local>com.unclejoes.ejb.admin.ProductOverrideLocal</local>
<ejb-link>ProductOverrideBean</ejb-link>
</ejb-local-ref>
<ejb-local-ref>
<ejb-ref-name>UncleJoes-ejb/ViewOrdersBean/local</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local>com.unclejoes.ejb.admin.ViewOrdersLocal</local>
<ejb-link>ViewOrdersBean</ejb-link>
</ejb-local-ref>
<ejb-local-ref>
<ejb-ref-name>UncleJoes-ejb/UtilityBean/local</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local>com.unclejoes.ejb.UtilityLocal</local>
<ejb-link>UtilityBean</ejb-link>
</ejb-local-ref>
<ejb-local-ref>
<ejb-ref-name>UncleJoes-ejb/AuthenticatorBean/local</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local>com.unclejoes.ejb.AuthenticatorLocal</local>
<ejb-link>AuthenticatorBean</ejb-link>
</ejb-local-ref>
<ejb-local-ref>
<ejb-ref-name>UncleJoes-ejb/ErrorProcessorBean/local</ejb-ref-name>
<local>com.unclejoes.ejb.ErrorProcessorLocal</local>
<ejb-link>ErrorProcessorBean</ejb-link>
</ejb-local-ref>
Glassfish Log
Log was too long, so I put it here!
Why aren't you using @In to inject your EJBs ?
Best regards,
Joshua
Visit my blog.