2014-12-13 1 views
0

glassfish 용으로 작성된이 예제 shiro-primefaces-example을 포트에 연결하려하지만 데이터 소스가 있습니다.shiro wildfly jsf 및 primefaces를 사용한 간단한 로그인

글래스 피쉬-web.xml의 :

<glassfish-web-app error-url=""> 
<context-root>/shiro-primefaces-example</context-root> 
<resource-ref> 
<res-ref-name>jdbc/shiro-primefaces</res-ref-name> 
<jndi-name>java:app/jdbc/shiro-primefaces</jndi-name> 
</resource-ref> 
<class-loader delegate="false"/> 
<parameter-encoding default-charset="UTF-8"/> 
</glassfish-web-app> 

글래스 피쉬-resources.xml에 :

<resources> 

<jdbc-connection-pool name="pool/shiro-primefaces" 
datasource-classname="org.postgresql.ds.PGConnectionPoolDataSource" 
res-type="javax.sql.ConnectionPoolDataSource" 
steady-pool-size="5" 
pool-resize-quantity="1" 
max-pool-size="10"> 
<property name="serverName" value="localhost"/> 
<property name="PortNumber" value="5432"/> 
<property name="DatabaseName" value="shiro_primefaces"/> 
<property name="User" value="shiro_primefaces"/> 
<property name="Password" value="testpass"/> 
</jdbc-connection-pool> 
<jdbc-resource pool-name="pool/shiro-primefaces" jndi-name="java:app/jdbc/shiro-primefaces"/> 
</resources> 
standalone.xml에서 내 데이터 소스가

"자바의 예는 두 개의 설정 파일이 : jboss/datasources/mysql ".

shiro.ini :

... 
datasource.resourceName = java:jboss/datasources/mysql 
... 

나는이 오류가 로그인을 시도 :

... 
at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40) 
at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50) 
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105) 
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87) 
... 50 more 
Caused by: java.lang.NullPointerException 
at org.example.shiro.bean.security.ShiroLoginBean.doLogin(ShiroLoginBean.java:40) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:606) 

당신이 파일의 jboss-web.xml을하거나 무언가를 창조해야합니까?

답변

1

당신은, 글래스 피쉬 - web.xml에, 글래스 피쉬-resources.xml에와의 web.xml에서 다음 라인을 제거해야합니다

<resource-ref> 
    <res-ref-name>jdbc/shiro-primefaces</res-ref-name> 
    <res-type>javax.sql.ConnectionPoolDataSource</res-type> 
    <res-auth>Container</res-auth> 
    <lookup-name>java:app/jdbc/shiro-primefaces</lookup-name> 
</resource-ref> 

는 당신이 파일을 shiro.ini에 다음 줄을 추가 할 필요가 당신의 데이터 소스 :

datasource.resourceName = java:jboss/datasources/mysql 
관련 문제