Hi !
When running aries transaction manager with a configuration submitted via felix
fileinstall and felix configadmin, the transactionmanager reports an
ArrayIndexOutOfBoundsException:
------
*ERROR* [org.osgi.service.cm.ManagedServiceFactory, id=32, bundle=27]:
Unexpected problem updating Configuration
PID=org.apache.aries.transaction.6aa698a0-275f-4aca-acfd-c440569a7f73,
factoryPID=org.apache.aries.transaction,
bundleLocation=initial@reference:file:org.apache.aries.transaction.manager-0.3.jar/
java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at
org.apache.geronimo.transaction.manager.XidFactoryImpl.<init>(XidFactoryImpl.java:41)
at
org.apache.aries.transaction.TransactionManagerService.<init>(TransactionManagerService.java:86)
at org.apache.aries.transaction.Activator.updated(Activator.java:81)
at
org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceFactoryUpdate.run(ConfigurationManager.java:1366)
at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:104)
at java.lang.Thread.run(Thread.java:662)
------
After replacing the call to XidFactoryImpl in TransactionManagerService.java
------
86c86
< XidFactory xidFactory = new XidFactoryImpl(pid.getBytes());
---
> XidFactory xidFactory = new XidFactoryImpl();
------
the problem disappears.
pid seems to be "org.apache.aries.transaction" - and is probably too long.
Modules used: (on top of osgi-3.6.1.R36x_v20100806.jar)
osgi.services-3.2.100.v20100503.jar@1:start,\
logback-core-0.9.28.jar@3:start,\
logback-classic-0.9.28.jar@4:start,\
slf4j-api-1.6.1.jar@5:start,\
aries-blueprint-1.0.0-incubating-SNAPSHOT.jar@6:start,\
jcl-over-slf4j-1.6.1.jar@7:start,\
org.apache.felix.fileinstall-3.1.10.jar@start,\
org.apache.felix.configadmin-1.2.8.jar@start,\
org.apache.aries.transaction.manager-0.3.jar@start,\
FileInstall-Config:
./load/org.apache.aries.transaction-default.cfg
------
aries.transaction.howl.logFileDir=/some/directory/absolute/path/howl
aries.transaction.recoverable=true
------
Is this a bug or am I using it wrong somehow?
If needed, I can provide a .zip with working and not working sample including
all files. (approx. 3.9meg)
Thanks in advance,
Tom