Uploaded image for project: 'JBoss Transaction Manager'
  1. JBoss Transaction Manager
  2. JBTM-775

Property files within jars not being detected

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 4.9.0
    • Fix Version/s: 4.15.0
    • Component/s: None
    • Labels:
      None

      Description

      We, Infinispan, has added a jbossts-properties.xml to src/test/resources to make it easier for developers to enable debug logging for JBoss TS code.

      Now, when the test jar is filled, this file is included, but any client code using this jar can't startup and instead throws errors like this:

      Caused by: java.lang.ExceptionInInitializerError
      at com.arjuna.ats.jta.TransactionManager.transactionManager(TransactionManager.java:97)
      at com.arjuna.ats.jta.TransactionManager.transactionManager(TransactionManager.java:76)
      ... 65 more
      Caused by: java.lang.RuntimeException: java.lang.RuntimeException: invalid property file file:/home/sanne/.m2/repository/org/infinispan/infinispan-core/4.1.0-SNAPSHOT/infinispan-core-4.1.0-SNAPSHOT-tests.jar!/jbossts-properties.xml
      at com.arjuna.common.internal.util.propertyservice.BeanPopulator.getSingletonInstance(BeanPopulator.java:52)
      at com.arjuna.common.internal.util.logging.commonPropertyManager.getLoggingEnvironmentBean(commonPropertyManager.java:39)
      at com.arjuna.common.util.logging.LogFactory.setupLogSystem(LogFactory.java:146)
      at com.arjuna.common.util.logging.LogFactory.getLogNoi18n(LogFactory.java:107)
      at com.arjuna.ats.jta.logging.jtaLogger.<clinit>(jtaLogger.java:54)
      ... 67 more
      Caused by: java.lang.RuntimeException: invalid property file file:/home/sanne/.m2/repository/org/infinispan/infinispan-core/4.1.0-SNAPSHOT/infinispan-core-4.1.0-SNAPSHOT-tests.jar!/jbossts-properties.xml
      at com.arjuna.common.util.propertyservice.PropertiesFactory.getPropertiesFromFile(PropertiesFactory.java:79)
      at com.arjuna.common.util.propertyservice.PropertiesFactory.initDefaultProperties(PropertiesFactory.java:187)
      at com.arjuna.common.util.propertyservice.PropertiesFactory.getDefaultProperties(PropertiesFactory.java:57)
      at com.arjuna.common.internal.util.propertyservice.BeanPopulator.getSingletonInstance(BeanPopulator.java:49)
      ... 71 more
      2010-08-17 11:48:49,656 INFO [TransactionManagerFactory] (main) failed looking up TransactionManager, will not use transactions
      java.lang.reflect.InvocationTargetException
      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:597)
      at org.infinispan.transaction.lookup.JBossStandaloneJTAManagerLookup.getTransactionManager(JBossStandaloneJTAManagerLookup.java:54)
      at org.infinispan.factories.TransactionManagerFactory.construct(TransactionManagerFactory.java:55)
      at org.infinispan.factories.AbstractComponentRegistry.getOrCreateComponent(AbstractComponentRegistry.java:306)
      at org.infinispan.factories.AbstractComponentRegistry.invokeInjectionMethod(AbstractComponentRegistry.java:244)
      at org.infinispan.factories.AbstractComponentRegistry$Component.injectDependencies(AbstractComponentRegistry.java:803)
      at org.infinispan.factories.AbstractComponentRegistry.registerComponent(AbstractComponentRegistry.java:219)
      at org.infinispan.factories.ComponentRegistry.registerComponent(ComponentRegistry.java:118)
      at org.infinispan.factories.AbstractComponentRegistry.registerComponent(AbstractComponentRegistry.java:186)
      at org.infinispan.factories.AbstractComponentRegistry.getOrCreateComponent(AbstractComponentRegistry.java:314)
      at org.infinispan.factories.AbstractComponentRegistry.invokeInjectionMethod(AbstractComponentRegistry.java:244)
      at org.infinispan.factories.AbstractComponentRegistry$Component.injectDependencies(AbstractComponentRegistry.java:803)
      at org.infinispan.factories.AbstractComponentRegistry.registerComponent(AbstractComponentRegistry.java:219)
      at org.infinispan.factories.ComponentRegistry.registerComponent(ComponentRegistry.java:118)
      at org.infinispan.factories.AbstractComponentRegistry.registerComponent(AbstractComponentRegistry.java:186)
      at org.infinispan.factories.InterceptorChainFactory.createInterceptor(InterceptorChainFactory.java:50)
      at org.infinispan.factories.InterceptorChainFactory.buildInterceptorChain(InterceptorChainFactory.java:67)
      at org.infinispan.factories.InterceptorChainFactory.construct(InterceptorChainFactory.java:192)
      at org.infinispan.factories.AbstractComponentRegistry.getOrCreateComponent(AbstractComponentRegistry.java:306)
      at org.infinispan.factories.AbstractComponentRegistry.invokeInjectionMethod(AbstractComponentRegistry.java:244)
      at org.infinispan.factories.AbstractComponentRegistry$Component.injectDependencies(AbstractComponentRegistry.java:803)
      at org.infinispan.factories.AbstractComponentRegistry.registerComponent(AbstractComponentRegistry.java:219)
      at org.infinispan.factories.ComponentRegistry.registerComponent(ComponentRegistry.java:118)
      at org.infinispan.factories.AbstractComponentRegistry.registerComponent(AbstractComponentRegistry.java:186)
      at org.infinispan.factories.AbstractComponentRegistry.getOrCreateComponent(AbstractComponentRegistry.java:314)
      at org.infinispan.factories.AbstractComponentRegistry.invokeInjectionMethod(AbstractComponentRegistry.java:244)
      at org.infinispan.factories.AbstractComponentRegistry$Component.injectDependencies(AbstractComponentRegistry.java:803)
      at org.infinispan.factories.AbstractComponentRegistry.registerComponent(AbstractComponentRegistry.java:219)
      at org.infinispan.factories.ComponentRegistry.registerComponent(ComponentRegistry.java:118)
      at org.infinispan.factories.AbstractComponentRegistry.registerComponent(AbstractComponentRegistry.java:186)
      at org.infinispan.factories.AbstractComponentRegistry.getOrCreateComponent(AbstractComponentRegistry.java:314)
      at org.infinispan.factories.AbstractComponentRegistry.invokeInjectionMethod(AbstractComponentRegistry.java:244)
      at org.infinispan.factories.AbstractComponentRegistry$Component.injectDependencies(AbstractComponentRegistry.java:803)
      at org.infinispan.factories.AbstractComponentRegistry.registerComponent(AbstractComponentRegistry.java:219)
      at org.infinispan.factories.ComponentRegistry.registerComponent(ComponentRegistry.java:118)
      at org.infinispan.factories.AbstractComponentRegistry.registerComponent(AbstractComponentRegistry.java:186)
      at org.infinispan.factories.AbstractComponentRegistry.getOrCreateComponent(AbstractComponentRegistry.java:314)
      at org.infinispan.factories.AbstractComponentRegistry.invokeInjectionMethod(AbstractComponentRegistry.java:244)
      at org.infinispan.factories.AbstractComponentRegistry$Component.injectDependencies(AbstractComponentRegistry.java:803)
      at org.infinispan.factories.AbstractComponentRegistry.registerComponent(AbstractComponentRegistry.java:219)
      at org.infinispan.factories.ComponentRegistry.registerComponent(ComponentRegistry.java:118)
      at org.infinispan.factories.AbstractComponentRegistry.registerComponent(AbstractComponentRegistry.java:186)
      at org.infinispan.factories.AbstractComponentRegistry.getOrCreateComponent(AbstractComponentRegistry.java:314)
      at org.infinispan.factories.AbstractComponentRegistry.invokeInjectionMethod(AbstractComponentRegistry.java:244)
      at org.infinispan.factories.AbstractComponentRegistry$Component.injectDependencies(AbstractComponentRegistry.java:803)
      at org.infinispan.factories.AbstractComponentRegistry.registerComponent(AbstractComponentRegistry.java:219)
      at org.infinispan.factories.ComponentRegistry.registerComponent(ComponentRegistry.java:118)
      at org.infinispan.factories.AbstractComponentRegistry.registerComponent(AbstractComponentRegistry.java:186)
      at org.infinispan.factories.AbstractComponentRegistry.getOrCreateComponent(AbstractComponentRegistry.java:314)
      at org.infinispan.factories.AbstractComponentRegistry.invokeInjectionMethod(AbstractComponentRegistry.java:244)
      at org.infinispan.factories.AbstractComponentRegistry$Component.injectDependencies(AbstractComponentRegistry.java:803)
      at org.infinispan.factories.AbstractComponentRegistry.registerComponent(AbstractComponentRegistry.java:219)
      at org.infinispan.factories.ComponentRegistry.registerComponent(ComponentRegistry.java:118)
      at org.infinispan.factories.AbstractComponentRegistry.registerComponent(AbstractComponentRegistry.java:186)
      at org.infinispan.factories.InternalCacheFactory.bootstrap(InternalCacheFactory.java:90)
      at org.infinispan.factories.InternalCacheFactory.createAndWire(InternalCacheFactory.java:77)
      at org.infinispan.factories.InternalCacheFactory.createCache(InternalCacheFactory.java:58)
      at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:445)
      at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:411)

      Even though the properties file is within the JAR and the contents of the jar and xml have been verified, the following code does not like it:

      filepath = FileLocator.locateFile(propertyFileName);
      File propertyFile = new File(filepath);
      if(!propertyFile.exists() || !propertyFile.isFile())

      { throw new RuntimeException("invalid property file "+filepath); }

      Maybe the JBoss TS code should be improved to locate property files within jars?

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                jhalliday Jonathan Halliday
                Reporter:
                galder.zamarreno Galder ZamarreƱo
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: