[JCA/JBoss] - Custom DataSource configuration (instantiation)
by wwebber
Hello all;
I am trying to configure a custom DataSource in JBoss 4.0.5, and have assumed that this might be possible via configuration info put into a *-ds.xml file. The company I worked for has a corporate development standard that forces developers to use a custom subclass of the OracleConnectionPoolDataSource class. So far, the company has been developing non-ejb Tomcat web apps, where doing what I describe is a cinch {creating custom DataSource pools with a handrolled pool impl}.
Looking through the JBoss docs, and others areas, I see TONS of examples configuring a DataSource where a JBoss DataSource implementation class will be used (and you are just specifying the Driver for each real connection..) , but none where you specify a different DataSource Impl.
Judging by the dtd for the *-ds.xml files, it doesn't look possible looking at valid attributes. Is there perhaps another way to pull this off? In theory, if you could do this it might look something like below (note: I an just making this up, it doesn't really work)
<local-tx-datasource class="myOracleSubClass" >
| <jndi-name>scoobyDo</jndi-name>
| <connection-url>
| jdbc:oracle:thin:mySchema/mySchema@//myPass:1521/myMachine
| </connection-url>
| <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
| <min-pool-size>1</min-pool-size>
| <max-pool-size>5</max-pool-size>
| </local-tx-datasource>
Or maybe.......
<local-tx-datasource>
| <property name = "class" class="myOracleSubClass"/>
| <property name = "driver" class="oracle.jdbc.driver.OracleDriver"/>
| <property name = "class" class="myOracleSubClass"/>
| <property name = "jndiName" class="scoobyDoo"/>
| <property name = "minConnections" class= "1" />
| ...........
| </local-tx-datasource>
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4084494#4084494
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4084494
18 years, 9 months
[Security & JAAS/JBoss] - NullPointerException thrown from LDAP Context
by jbosexplorer
Hi There,
I'm trying to configure LDAP setup in my local JBoss 4.2.1 server. I've added
<application-policy name = "MY-LDAP">
<login-module code = "org.jboss.security.auth.spi.LdapExtLoginModule" flag = "required">
<module-option name="java.naming.factory.initial">com.sun.jndi.ldap.LdapCtxFactory</module-option>
<module-option name="java.naming.provider.url">ldap://myserver:389/</module-option>
<module-option name="java.naming.security.authentication">simple</module-option>
<module-option name="java.naming.security.credentials">password</module-option>
<module-option name="java.naming.security.principal">uid=admin,ou=Administrators,ou=TopologyManagement,o=NetscapeRoot</module-option>
<module-option name="userDN">ou=People, dc=company,dc=co,dc=uk</module-option>
<module-option name="bindCredential">password</module-option>
<module-option name="rolesCtxDN">ou=Groups, dc=company,dc=co,dc=uk</module-option>
<module-option name="uidAttributeID">person</module-option>
<module-option name="searchScope">SUBTREE_SCOPE</module-option>
<module-option name="restore-login-identity">true</module-option>
<module-option name="baseFilter">((uniquemember={0})(objectclass=groupofuniquenames))</module-option>
</login-module>
and, added the following in my class file.
LoginContext lc = new LoginContext("MY-LDAP",
new CustomCallbackHandler(userId, password));
when I tried to access the application, getting the following error.
java.lang.NullPointerException
at javax.naming.InitialContext.getURLScheme(InitialContext.java:228)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:277)
at javax.naming.directory.InitialDirContext.getURLOrDefaultInitDirCtx(InitialDirContext.java:87)
at javax.naming.directory.InitialDirContext.search(InitialDirContext.java:267)
at org.jboss.security.auth.spi.LdapExtLoginModule.bindDNAuthentication(LdapExtLoginModule.java:375)
at org.jboss.security.auth.spi.LdapExtLoginModule.createLdapInitContext(LdapExtLoginModule.java:336)
at org.jboss.security.auth.spi.LdapExtLoginModule.validatePassword(LdapExtLoginModule.java:229)
at org.jboss.security.auth.spi.UsernamePasswordLoginModule.login(UsernamePasswordLoginModule.java:210)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)
at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
at javax.security.auth.login.LoginContext.login(LoginContext.java:579)
Can anybody help me??
Thanks.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4084481#4084481
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4084481
18 years, 9 months