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: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to