[jboss-jira] [JBoss JIRA] (WFLY-1366) @DataSourceDefinition incorrectly requires other properties than name and class-name
Tomasz Adamski (JIRA)
issues at jboss.org
Wed Jan 7 14:35:30 EST 2015
[ https://issues.jboss.org/browse/WFLY-1366?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tomasz Adamski reopened WFLY-1366:
----------------------------------
> @DataSourceDefinition incorrectly requires other properties than name and class-name
> ------------------------------------------------------------------------------------
>
> Key: WFLY-1366
> URL: https://issues.jboss.org/browse/WFLY-1366
> Project: WildFly
> Issue Type: Feature Request
> Components: EE
> Affects Versions: 8.0.0.Alpha1
> Reporter: arjan tijms
> Assignee: Tomasz Adamski
> Labels: spec, validation
>
> When using the <data-source> element in e.g. web.xml or application.xml JBoss EAP 6.0.1/JBoss AS 7.1.3 does not accept a configuration without properties other than {{name}} and {{class-name}}. For instance:
> {code:xml}
> <data-source>
> <name>java:app/myDS</name>
> <class-name>com.example.MyDS</class-name>
> </data-source>
> {code}
> With such configuration, the following exception is thrown:
> {noformat}
> Caused by: org.jboss.jca.common.api.validator.ValidateException: IJ010069: Missing required element xa-datasource-property in org.jboss.jca.common.metadata.ds.v11.XADataSourceImpl
> at org.jboss.jca.common.metadata.ds.v10.XADataSourceImpl.validate(XADataSourceImpl.java:385)
> at org.jboss.jca.common.metadata.ds.v10.XADataSourceImpl.<init>(XADataSourceImpl.java:116)
> at org.jboss.jca.common.metadata.ds.v11.XADataSourceImpl.<init>(XADataSourceImpl.java:76)
> at org.jboss.as.connector.subsystems.datasources.ModifiableXaDataSource.getUnModifiableInstance(ModifiableXaDataSource.java:373)
> at org.jboss.as.connector.subsystems.datasources.XaDataSourceService.getDeployer(XaDataSourceService.java:70)
> at org.jboss.as.connector.subsystems.datasources.AbstractDataSourceService.start(AbstractDataSourceService.java:116)
> {noformat}
> At the point where the exception is thrown, the code checks if there are any properties at all:
> {code}
> if (this.xaDataSourceProperty.isEmpty())
> throw new ValidateException(
> bundle.requiredElementMissing(
> Tag.XA_DATASOURCE_PROPERTY.getLocalName(),
> this.getClass().getCanonicalName()));
> {code}
> I don't understand why this check is there. If I'm not mistaken the spec (e.g. JSR 250 section 2.13 and JSR 316 section EE.5.17) does not seem to mandate properties to be present and the corresponding annotation only requires {{name}} and {{className}} to be specified.
> A workaround is to subclass the data source class and provide a dummy property, e.g.
> {code:xml}
> <data-source>
> <name>java:app/myDS</name>
> <class-name>com.example.MySubDS</class-name>
> <property>
> <name>dummy</name>
> <value>dummy</value>
> </property>
> </data-source>
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
More information about the jboss-jira
mailing list