activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jason Dillon (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AMQ-1185) ActiveMQ 4.1 has crept in some Java 5 APIs, which prevent it from being used on Java 1.4 JVMs
Date Fri, 02 Mar 2007 08:51:03 GMT

    [ https://issues.apache.org/activemq/browse/AMQ-1185?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_38638
] 

Jason Dillon commented on AMQ-1185:
-----------------------------------

I updated activeio/trunk to use the latest retrotranslator-maven-plugin's translate-project
to make jdk14 versions of activeio (in the AMQ-1185-activeio-retro.diff patch).  And then
I updated activemq/branches/activemq-4.1 to use the jdk14 jars (via classifier) plus a few
other changes for compilation with JDK 1.4 (in the AMQ-1185-2.diff patch).  Re-ran the tests
for activemq-core and _almost_ everything passed... 

{noformat}
Tests run: 1488, Failures: 0, Errors: 2, Skipped: 0
{noformat}

2 Errors were in:

 * {{org.apache.activemq.broker.region.cursors.KahaCursorDurableTest}}

With errors like:

{noformat}
java.io.IOException: Bad file descriptor
	at sun.nio.ch.FileChannelImpl.release0(Native Method)
	at sun.nio.ch.FileChannelImpl.implCloseChannel(FileChannelImpl.java:105)
	at java.nio.channels.spi.AbstractInterruptibleChannel.close(AbstractInterruptibleChannel.java:97)
	at java.io.RandomAccessFile.close(RandomAccessFile.java:523)
	at org.apache.activemq.kaha.impl.index.IndexManager.delete(IndexManager.java:119)
	at org.apache.activemq.kaha.impl.KahaStore.delete(KahaStore.java:137)
	at org.apache.activemq.store.kahadaptor.KahaPersistenceAdapter.deleteAllMessages(KahaPersistenceAdapter.java:164)
	at org.apache.activemq.broker.BrokerService.deleteAllMessages(BrokerService.java:888)
	at org.apache.activemq.broker.BrokerService.start(BrokerService.java:387)
	at org.apache.activemq.broker.region.cursors.CursorDurableTest.createBroker(CursorDurableTest.java:212)
	at org.apache.activemq.broker.region.cursors.CursorDurableTest.setUp(CursorDurableTest.java:183)
	at junit.framework.TestCase.runBare(TestCase.java:125)
	at junit.framework.TestResult$1.protect(TestResult.java:106)
	at junit.framework.TestResult.runProtected(TestResult.java:124)
	at junit.framework.TestResult.run(TestResult.java:109)
	at junit.framework.TestCase.run(TestCase.java:118)
	at junit.framework.TestSuite.runTest(TestSuite.java:208)
	at junit.framework.TestSuite.run(TestSuite.java:203)
	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:324)
	at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:210)
	at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:135)
	at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:160)
	at org.apache.maven.surefire.Surefire.run(Surefire.java:81)
	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:324)
	at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:182)
	at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:743)
{noformat}

Not sure, but this might have been due to not cleaning up the {{activemq-data}} directory
(which really should by the way, be put into the target/ dir for testing, so that killing
all target dirs will clean up all state).

I'm going to nuke everything... ugh... annoying that you folks have {{svn:ignore}} set to
ignore {{activemq-data}} (as well as a bunch of other stuff)... so it makes it rather hard
to use {{svn status}} to determine what is junk state outside of the target dir.  I suppose
I will have to {{svn co ...}} again and re-apply the patches.

> ActiveMQ 4.1 has crept in some Java 5 APIs, which prevent it from being used on Java
1.4 JVMs
> ---------------------------------------------------------------------------------------------
>
>                 Key: AMQ-1185
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1185
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 4.1.1
>            Reporter: Jason Dillon
>            Priority: Blocker
>         Attachments: AMQ-1185-2.diff, AMQ-1185-activeio-retro.diff, AMQ-1185.diff
>
>
> A few bits of Java 5 API has made it into the AMQ 4.1 branch, which prevent 4.1 from
being used on Java 1.4 JVMS.
> Apache Geronimo v1.2 needs AMQ 4.1 running on Java 1.4.
> So far I don't see anything major which prevents AMQ 4.1 from being compiled with Java
1.4... only a few minor changes to keep compatibility.  The alternative is of course to use
the retrotranslator-maven-plugin to generate 1.4 compatible jars for each module (the new
retrotranslator:translate-project makes this very easy to use, includes attaching jdk14 artifacts).
> But IMO, that would just add more complexity for AMQ 4.1 when only a few simple changes
will allow the it to be native 1.4... though you folks might consider using retrotranslator:translate-project
for trunk to create 1.4 compatible jars for the new AMQ (> 4.1.x) bits.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message