Foren

Null Pointer exception on CDIBeanManagerUtil.getManagedBeanReference

stephen zambaux, geändert vor 9 Jahren.

Null Pointer exception on CDIBeanManagerUtil.getManagedBeanReference

Junior Member Beiträge: 63 Beitrittsdatum: 03.10.14 Neueste Beiträge
Hi I use Liferay 6.2 and jsf2.0 and try to inject a bean inside a managed bean.
I have this error

SEVERE: Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener
java.lang.RuntimeException: com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! java.util.concurrent.ExecutionException: java.lang.ExceptionInInitializerError
	at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:276)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4990)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5490)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649)
	at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:672)
	at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1862)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! java.util.concurrent.ExecutionException: java.lang.ExceptionInInitializerError
	at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:376)
	at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:216)
	... 13 more
Caused by: javax.faces.FacesException: java.util.concurrent.ExecutionException: java.lang.ExceptionInInitializerError
	at com.sun.faces.config.ConfigManager.getAnnotatedClasses(ConfigManager.java:434)
	at com.sun.faces.config.processor.AbstractConfigProcessor.processAnnotations(AbstractConfigProcessor.java:326)
	at com.sun.faces.config.processor.ApplicationConfigProcessor.process(ApplicationConfigProcessor.java:337)
	at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:114)
	at com.sun.faces.config.processor.LifecycleConfigProcessor.process(LifecycleConfigProcessor.java:116)
	at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:114)
	at com.sun.faces.config.processor.FactoryConfigProcessor.process(FactoryConfigProcessor.java:222)
	at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:361)
	... 14 more
Caused by: java.util.concurrent.ExecutionException: java.lang.ExceptionInInitializerError
	at java.util.concurrent.FutureTask.report(FutureTask.java:122)
	at java.util.concurrent.FutureTask.get(FutureTask.java:192)
	at com.sun.faces.config.ConfigManager.getAnnotatedClasses(ConfigManager.java:430)
	... 21 more
Caused by: java.lang.ExceptionInInitializerError
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:340)
	at com.sun.faces.util.Util.loadClass(Util.java:273)
	at com.sun.faces.config.AnnotationScanner.processClassList(AnnotationScanner.java:304)
	at com.sun.faces.config.JavaClassScanningAnnotationScanner.getAnnotatedClasses(JavaClassScanningAnnotationScanner.java:128)
	at com.sun.faces.config.DelegatingAnnotationProvider.getAnnotatedClasses(DelegatingAnnotationProvider.java:85)
	at com.sun.faces.config.ConfigManager$AnnotationScanTask.call(ConfigManager.java:841)
	at com.sun.faces.config.ConfigManager$AnnotationScanTask.call(ConfigManager.java:793)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:351)
	... 14 more
Caused by: java.lang.NullPointerException
	at com.liferay.cdi.portlet.bridge.CDIBeanManagerUtil.getManagedBeanReference(CDIBeanManagerUtil.java:34)


when I try to do this
	private static final InvoiceFacade invoiceFacade = (InvoiceFacade)CDIBeanManagerUtil.getManagedBeanReference(InvoiceFacade.class);



do you have any idea?
thumbnail
Neil Griffin, geändert vor 9 Jahren.

RE: Null Pointer exception on CDIBeanManagerUtil.getManagedBeanReference

Liferay Legend Beiträge: 2655 Beitrittsdatum: 27.07.05 Neueste Beiträge
Hi Stephen,

Please make sure that you are using Mojarra 2.1.21, Weld 1.1.10.Final, Liferay Faces version 3.2.4-ga5, and Liferay's CDI Portlet Bridge 6.2.0.2. Those are the versions that we did our testing with.

Kind Regards,

Neil
stephen zambaux, geändert vor 9 Jahren.

RE: Null Pointer exception on CDIBeanManagerUtil.getManagedBeanReference

Junior Member Beiträge: 63 Beitrittsdatum: 03.10.14 Neueste Beiträge
Thank you, I changed to cdi-portlet-bridge-shared 6.2.0.2, others was good and I already have this:

07:50:23,362 ERROR [localhost-startStop-2][CDIContextListener:74] javax.naming.NameNotFoundException: Name [BeanManager] is not bound in this Context. Unable to find [BeanManager].
javax.naming.NameNotFoundException: Name [BeanManager] is not bound in this Context. Unable to find [BeanManager].
	at org.apache.naming.NamingContext.lookup(NamingContext.java:819)
	at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
	at org.apache.naming.NamingContext.lookup(NamingContext.java:830)
	at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
	at org.apache.naming.NamingContext.lookup(NamingContext.java:830)
	at org.apache.naming.NamingContext.lookup(NamingContext.java:167)
	at org.apache.naming.SelectorContext.lookup(SelectorContext.java:156)
	at javax.naming.InitialContext.lookup(InitialContext.java:417)
	at com.liferay.cdi.portlet.bridge.CDIContextListener.contextInitialized(CDIContextListener.java:69)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4992)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5490)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649)
	at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:672)
	at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1862)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
07:50:23,362 ERROR [localhost-startStop-2][CDIContextListener:79] Unable to get CDI bean manager
thumbnail
Neil Griffin, geändert vor 9 Jahren.

RE: Null Pointer exception on CDIBeanManagerUtil.getManagedBeanReference

Liferay Legend Beiträge: 2655 Beitrittsdatum: 27.07.05 Neueste Beiträge
Hi Stephen,

What server are you deploying to? For example: Tomcat7? JBoss AS7?

Also, please list all of the jars that you have under WEB-INF/lib in your deployed portlet.

Thanks,

Neil
stephen zambaux, geändert vor 9 Jahren.

RE: Null Pointer exception on CDIBeanManagerUtil.getManagedBeanReference

Junior Member Beiträge: 63 Beitrittsdatum: 03.10.14 Neueste Beiträge
I use tomcat 7 with this jar:

aopalliance-1.0.jar
bootstrap-1.0.10.jar
cdi-portlet-bridge-shared-6.2.0.2.jar
commonj.sdo-2.1.1.jar
commons-dbcp-1.3.jar
commons-dbcp-jmx-jdbc3-0.2.jar
commons-fileupload-1.2.2.jar
commons-io-1.3.2.jar
commons-logging-1.1.1.jar
commons-pool-1.5.4.jar
eclipselink-2.5.1.jar
jackson-annotations-2.3.0.jar
jackson-core-2.3.0.jar
jackson-databind-2.3.0.jar
jackson-module-jaxb-annotations-2.3.0.jar
javax.persistence-2.1.0.jar
jboss-el-2.0.0.GA.jar
jmxutils-1.8.jar
jsf-api-2.1.21.jar
jsf-impl-2.1.21.jar
liferay-faces-bridge-api-3.2.4-ga5.jar
liferay-faces-bridge-impl-3.2.4-ga5.jar
liferay-faces-portal-3.2.4-ga5.jar
liferay-faces-util-3.2.4-ga5.jar
log4j-extras.jar
log4j.jar
logback-classic-1.0.13.jar
logback-core-1.0.13.jar
model-2.5.5-SNAPSHOT.jar
mybatis-3.2.3.jar
mybatis-spring-1.2.0.jar
primefaces-3.5.jar
slf4j-api-1.7.5.jar
spring-aop-3.2.3.RELEASE.jar
spring-beans-3.2.3.RELEASE.jar
spring-context-3.2.3.RELEASE.jar
spring-core-3.2.3.RELEASE.jar
spring-expression-3.2.3.RELEASE.jar
spring-jdbc-3.2.3.RELEASE.jar
spring-tx-3.2.3.RELEASE.jar
util-bridges.jar
util-java.jar
util-taglib.jar
weld-servlet-1.1.10.Final.jar
thumbnail
Neil Griffin, geändert vor 9 Jahren.

RE: Null Pointer exception on CDIBeanManagerUtil.getManagedBeanReference

Liferay Legend Beiträge: 2655 Beitrittsdatum: 27.07.05 Neueste Beiträge
Hi Stephen,

Thanks for listing the jars. Do you have your WEB-INF/web.xml setup properly to use CDI portlets with Tomcat? For more information, see the Developing JSF Portlets with CDI wiki article.

Kind Regards,

Neil
stephen zambaux, geändert vor 9 Jahren.

RE: Null Pointer exception on CDIBeanManagerUtil.getManagedBeanReference

Junior Member Beiträge: 63 Beitrittsdatum: 03.10.14 Neueste Beiträge
Hi, you are welcome, I added all elements in my this is my web.xml:

<!--?xml version="1.0" encoding="UTF-8"?-->
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemalocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
	<context-param>
		<param-name>com.sun.faces.expressionFactory</param-name>
		<param-value>org.jboss.el.ExpressionFactoryImpl</param-value>
	</context-param>
	<context-param>
		<param-name>javax.faces.PROJECT_STAGE</param-name>
		<param-value>Development</param-value>
	</context-param>
	<context-param>
		<param-name>primefaces.THEME</param-name>
		<param-value>bootstrap</param-value>
	</context-param>
	<servlet>
		<servlet-name>Faces Servlet</servlet-name>
		<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
		
		<context-param>
		<param-name>javax.faces.PROJECT_STAGE</param-name>
		<param-value>Development</param-value>
	</context-param>
	<!-- Instruct Mojarra to utilize JBoss-EL instead of the EL implementation provided by the servlet container. -->
	<context-param>
		<param-name>com.sun.faces.expressionFactory</param-name>
		<param-value>org.jboss.el.ExpressionFactoryImpl</param-value>
	</context-param>
	<!-- Instruct Mojarra to namespace parameters according to NamingContainer rules. -->
	<!-- JAVASERVERFACES-3031 -->
	<!--
	<context-param>
		<param-name>com.sun.faces.namespaceParameters</param-name>
		<param-value>true</param-value>
	</context-param>
	-->
	<filter>
		<filter-name>CDICrossContextFilter</filter-name>
		<filter-class>com.liferay.cdi.portlet.bridge.CDICrossContextFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>CDICrossContextFilter</filter-name>
		<url-pattern>/*</url-pattern>
		<dispatcher>INCLUDE</dispatcher>
		<dispatcher>FORWARD</dispatcher>
		<dispatcher>ERROR</dispatcher>
	</filter-mapping>
	<filter>
		<filter-name>WeldCrossContextFilter</filter-name>
		<filter-class>org.jboss.weld.servlet.WeldCrossContextFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>WeldCrossContextFilter</filter-name>
		<url-pattern>/*</url-pattern>
		<dispatcher>INCLUDE</dispatcher>
		<dispatcher>FORWARD</dispatcher>
		<dispatcher>ERROR</dispatcher>
	</filter-mapping>
	<listener>
		<listener-class>org.jboss.weld.environment.servlet.Listener</listener-class>
	</listener>
	<listener>
		<listener-class>com.liferay.cdi.portlet.bridge.CDIContextListener</listener-class>
	</listener>
	
</web-app>
thumbnail
Neil Griffin, geändert vor 9 Jahren.

RE: Null Pointer exception on CDIBeanManagerUtil.getManagedBeanReference

Liferay Legend Beiträge: 2655 Beitrittsdatum: 27.07.05 Neueste Beiträge
Hi Stephen,

Similar to my advice in the thread titled Try to use JSF composite component inside portlet, please try downloading the Liferay 6.2 version of the jsf2-cdi-portlet demo WAR and let us know if it works in your environment.

Thanks,

Neil