2014-12-13 2 views
0

Я пытаюсь передать этот пример shiro-primefaces-example, написанный для стеклянной рыбы, но у меня есть trobles с источником данных. Пример состоит из двух конфигурационных файлов:простой логин с shiro wildfly jsf и perffaces

GlassFish-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> 

GlassFish-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> 

Моя DataSource в standalone.xml является «Java : JBoss/источники данных/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

Вам нужно удалить, GlassFish-web.xml, GlassFish-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 
Смежные вопросы