You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by "Svetlin Zarev (JIRA)" <ji...@apache.org> on 2017/03/14 14:02:41 UTC
[jira] [Comment Edited] (TOMEE-2024) Misleading log entries
[ https://issues.apache.org/jira/browse/TOMEE-2024?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15924242#comment-15924242 ]
Svetlin Zarev edited comment on TOMEE-2024 at 3/14/17 2:02 PM:
---------------------------------------------------------------
Well, I just created a second service-provider entry in the service-jar.xml for the data-source provider (pointing to the very same class). But I had to spend some time debugging why my data-source factory creates non jta data-sources when it should create jta ones :) So what about improving the logged message ?
was (Author: svetlinzarev):
Well, I just created a second service-provider entry in the service-jar.xml for the data-source provider (pointing to the very same class). But I had to spen some time why my data-source factory creates non jta data-sources when it should create jta ones :) So what about improving the logged message ?
> Misleading log entries
> ----------------------
>
> Key: TOMEE-2024
> URL: https://issues.apache.org/jira/browse/TOMEE-2024
> Project: TomEE
> Issue Type: Bug
> Affects Versions: 7.0.3, 7.0.4
> Reporter: Svetlin Zarev
> Priority: Minor
>
> Assembler:1420-1454:
> {code}
> final String jtaWithJavaAndSlash = replaceJavaAndSlash(unit.getJtaDataSource());
> for (final String potentialName : asList(prefix + jtaWithJavaAndSlash, originalJtaDataSource, jtaWithJavaAndSlash)) {
> if(potentialName == null) {
> // If unit.getJtaDataSource() is null, one of the potentialName is also null.
> continue;
> }
> final ResourceInfo jtaInfo = configFactory.getResourceInfo(potentialName);
> if (jtaInfo != null) {
> if (!"false".equalsIgnoreCase(jtaInfo.properties.getProperty("JtaManaged")) // don't test true since it can be missing
> && (jtaInfo.types.contains("DataSource") || jtaInfo.types.contains(DataSource.class.getName()))) {
> jtaDataSourceId = jtaInfo.id;
> break;
> } else {
> -----> logger.warning("Found matching datasource: " + jtaInfo.id + " but this one is not a JTA datasource");
> }
> }
> }
> final String nonJtaWithJavaAndSlash = replaceJavaAndSlash(unit.getNonJtaDataSource());
> for (final String potentialName : asList(prefix + nonJtaWithJavaAndSlash, originalNonJtaDataSource, nonJtaWithJavaAndSlash)) {
> if(potentialName == null) {
> // If unit.getNonJtaDataSource() is null, one of the potentialName is also null.
> continue;
> }
> final ResourceInfo info = configFactory.getResourceInfo(potentialName);
> if (info != null) {
> if (!"true".equalsIgnoreCase(info.properties.getProperty("JtaManaged"))
> && (info.types.contains("DataSource") || info.types.contains(DataSource.class.getName()))) {
> nonJtaDataSourceId = info.id;
> break;
> } else {
> -----> logger.warning("Found matching datasource: " + info.id + " but this one is a JTA datasource");
> }
> }
> }
> {code}
> The two warnings are very misleading, because it prints that my JTA data-source is NON JTA one, and my non-jta is jta data-source when my service provider does not have "javax.sql.DataSource" in the "types" property.
> Also IMO when I explicitly set the service provider it should not matter what "types" it has in the service-jar.xml.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)