Hi i have the following problem. I have set the following code.
public void contributeWebSecurityManager(
final Configuration<Realm> configuration
//, @InjectService("myDataSource")final DataSource
dataSource
) {
final JdbcRealm realm = new JdbcSaltedRealm();
realm.setDataSource(getJndiDataSource());
// realm.setDataSource(dataSource); -- does not work
realm.setAuthenticationQuery(AppModule.AUTHENTICATION_QUERY);
realm.setUserRolesQuery(AppModule.USER_ROLES_QUERY);
realm.setPermissionsQuery(AppModule.PERMISSION_QUERY);
realm.setPermissionsLookupEnabled(true);
realm.setCredentialsMatcher(this.credentialsMatcher);
configuration.add(realm);
}
In the same AppModule class I have this
public static void bind(final ServiceBinder binder) {
binder.bind(DataSource.class,
AppModule.getJndiDataSource().getClass())
.withId("blog.dataSource");
}
When i run my app it seems the datasource is not injected. How am I able to
inject the datasource binded into ContributeWebSecurityManager.
This is error i am getting when using service injection instead of just
manually getting the datasource.
NFO: Cannot create JDBC driver of class '' for connect URL 'null'
java.lang.NullPointerException
at sun.jdbc.odbc.JdbcOdbcDriver.getProtocol(JdbcOdbcDriver.java:524)
at sun.jdbc.odbc.JdbcOdbcDriver.knownURL(JdbcOdbcDriver.java:493)
at sun.jdbc.odbc.JdbcOdbcDriver.acceptsURL(JdbcOdbcDriver.java:307)
at java.sql.DriverManager.getDriver(DriverManager.java:273)
at
org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1437)
at
org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1371)
at
org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
at $DataSource_210503fddf1.getConnection(Unknown Source)
at
org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111)
at
org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77)
at
org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:573)
at
org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:637)
at
org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:666)
at
org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:674)
at
org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:729)
at
org.apache.shiro.realm.JdbcSaltedRealm.getPasswordForUser(JdbcSaltedRealm.java:242)
at
org.apache.shiro.realm.JdbcSaltedRealm.doGetAuthenticationInfo(JdbcSaltedRealm.java:170)
at
org.apache.shiro.realm.JdbcSaltedRealm.doGetAuthenticationInfo(JdbcSaltedRealm.java:61)
--
View this message in context:
http://tapestry.1045711.n5.nabble.com/AppModule-using-injected-service-in-ContributeWebSecurityManager-tp5713989.html
Sent from the Tapestry - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]