System Property reference does NOT work in ""?
ybxiang.china Aug 3, 2012 10:23 PMDear all,
I defined my System properties:
<?xml version='1.0' encoding='UTF-8'?> <server xmlns="urn:jboss:domain:1.2"> <extensions> ... </extensions> <system-properties> <property name="nms.system.property.datasource.jndi-name" value="java:jboss/datasources/NmsMySqlDS"/> <property name="nms.system.property.datasource.connection-url" value="jdbc:mysql://localhost:3306/nms"/> ... </system-properties>
and datasource
| <datasource jndi-name="java:jboss/datasources/NmsMySqlDS" pool-name="MySqlDS"> | |
| <connection-url>${nms.system.property.datasource.connection-url}</connection-url> | |
| <driver>com.mysql</driver> | |
| ... | |
| </datasource> |
Now, everything works well
But after I changed datasource definition to
| <datasource jndi-name="${nms.system.property.datasource.jndi-name}" pool-name="MySqlDS"> | |
| <connection-url>${nms.system.property.datasource.connection-url}</connection-url> | |
| <driver>com.mysql</driver> | |
| ... | |
| </datasource> |
I got bellow exception
10:07:18,015 ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) {"JBAS014653: Composite oper
ation failed and was rolled back. Steps that failed:" => {"Operation step-2" => {"JBAS014771: Services with missing/unav
ailable dependencies" => ["jboss.persistenceunit.\"nms-server-ear.ear/nms-server-ejb.jar#nms-server\"jboss.naming.contex
t.java.jboss.datasources.NmsMySqlDSMissing[jboss.persistenceunit.\"nms-server-ear.ear/nms-server-ejb.jar#nms-server\"jbo
ss.naming.context.java.jboss.datasources.NmsMySqlDS]"]}}}
Obviosly, the datasource jndi name is NOT translated!!!
I found that <login-module> has the same issue:
| <login-module code="org.jboss.security.auth.spi.DatabaseServerLoginModule" flag="required"> | |
| <module-option name="password-stacking" value="useFirstPass"/> | |
| <module-option name="dsJndiName" value="java:jboss/datasources/NmsMySqlDS"/> | |
| <module-option name="principalsQuery" value="SELECT passwdHash FROM testuser WHERE name=?"/> | |
| <module-option name="rolesQuery" value="SELECT r.name, 'Roles' FROM testroles r, testuser u where u.id=r.user_id and u.name=?"/> | |
| <module-option name="hashAlgorithm" value="SHA-256"/> | |
| <module-option name="hashEncoding" value="Base64"/> | |
| <module-option name="hashCharset" value="UTF-8"/> | |
| <module-option name="unauthenticatedIdentity" value="guest"/> | |
| </login-module> |
Namely, I can NOT change
<module-option name="dsJndiName" value="java:jboss/datasources/NmsMySqlDS"/>
to
<module-option name="dsJndiName" value="${nms.system.property.datasource.jndi-name}"/>
Is my configuration wrong?