On 25 May 2017 at 01:02, Gary Gregory <garydgreg...@gmail.com> wrote: > On Wed, May 24, 2017 at 4:46 PM, Gary Gregory <garydgreg...@gmail.com> > wrote: > >> On Wed, May 24, 2017 at 2:12 PM, Rob Tompkins <chtom...@gmail.com> wrote: >> >>> >>> > On May 24, 2017, at 2:49 AM, Gary Gregory <garydgreg...@gmail.com> >>> wrote: >>> > >>> > When I build with the IBM JDK 8 that IBM includes with some Eclipse >>> version >>> > I have laying around, I indeed get: >>> > >>> > java (2) >>> > org.apache.commons.lang3.time.FastDateParser_TimeZoneStrategyTest >>> > testLang1219(org.apache.commons.lang3.time.FastDateParser_Ti >>> meZoneStrategyTest) >>> > java.text.ParseException: Unparseable date: 26.10.2014 02:00:00 MESZ >>> >> >> As I mentioned, the above test passes with the current IBM SDK 8: >> >> Java(TM) SE Runtime Environment (build pwi3280sr4fp5-20170421_01(SR4 FP5)) >> IBM J9 VM (build 2.8, JRE 1.8.0 Windows 10 x86-32 20170419_344392 (JIT >> enabled, AOT enabled) >> J9VM - R28_20170419_1004_B344392 >> JIT - tr.r14.java_20170419_344392 >> GC - R28_20170419_1004_B344392 >> J9CL - 20170419_344392) >> JCL - 20170420_01 based on Oracle jdk8u131-b11 >> >> So IMO the only test we should look at is: >> >> > org.apache.commons.lang3.builder.ToStringBuilderTest >> > testReflectionHierarchyArrayList(org.apache.commons.lang3.bu >> ilder.ToStringBuilderTest) >> > org.junit.ComparisonFailure: >> > expected:<...700dfa[elementData={[<null>,<null>,<null>,< >> null>,<null>,<null>,<null>,<null>,<null>,<null>]},size=0,modCount=0]> >> > but was:<...700dfa[elementData={[]},size=0,modCount=0]> >> > > Looking at this a little more, I would say that IBM Java changed how it > implemented ArrayList between it's 1.6 and 1.8 releases. I only have the > current 1.8 IBM release. I cannot verify that this test makes sense on IBM > 1.6. I propose we update the test to reflect IBM Java 8 and document the > test as such.
If the test makes assumptions about how ArrayList is implemented, then I would say the test is wrong. If possible it should be fixed so as to work regardless of the implementation details. Rather than changing the test to work with a different version of the implementation. > Gary > >> >> >> Gary >> >> >> >>> Wondering if this change (https://github.com/apache/com >>> mons-lang/commit/eb2b89efbe15ab0b70fd94f0ecd0aa03866fb4d2# >>> diff-27e0ef6d1e59c634d3ba4d9cb05629a4R362 <https://github.com/apache/com >>> mons-lang/commit/eb2b89efbe15ab0b70fd94f0ecd0aa03866fb4d2# >>> diff-27e0ef6d1e59c634d3ba4d9cb05629a4R362>) caused this one. It doesn’t >>> make sense to me that it would, but it’s the only change to the code in >>> that area. Does the released version have the same issue? >>> >>> Still investigating the second test failure. I’ll keep you guys posted >>> with anything I can come up with. >>> >>> -Rob >>> >>> > >>> > at >>> > org.apache.commons.lang3.time.FastDateParser.parse(FastDateP >>> arser.java:369) >>> > >>> > at >>> > org.apache.commons.lang3.time.FastDateParser_TimeZoneStrateg >>> yTest.testLang1219(FastDateParser_TimeZoneStrategyTest.java:62) >>> > >>> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>> > >>> > at >>> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce >>> ssorImpl.java:95) >>> > >>> > at >>> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe >>> thodAccessorImpl.java:55) >>> > >>> > at java.lang.reflect.Method.invoke(Method.java:508) >>> > >>> > at >>> > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall( >>> FrameworkMethod.java:50) >>> > >>> > at >>> > org.junit.internal.runners.model.ReflectiveCallable.run(Refl >>> ectiveCallable.java:12) >>> > >>> > at >>> > org.junit.runners.model.FrameworkMethod.invokeExplosively(Fr >>> ameworkMethod.java:47) >>> > >>> > at >>> > org.junit.internal.runners.statements.InvokeMethod.evaluate( >>> InvokeMethod.java:17) >>> > >>> > at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) >>> > >>> > at >>> > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit >>> 4ClassRunner.java:78) >>> > >>> > at >>> > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit >>> 4ClassRunner.java:57) >>> > >>> > at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) >>> > >>> > at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) >>> > >>> > at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) >>> > >>> > at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) >>> > >>> > at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) >>> > >>> > at org.junit.runners.ParentRunner.run(ParentRunner.java:363) >>> > >>> > at >>> > org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference. >>> run(JUnit4TestReference.java:86) >>> > >>> > at >>> > org.eclipse.jdt.internal.junit.runner.TestExecution.run( >>> TestExecution.java:38) >>> > >>> > at >>> > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTe >>> sts(RemoteTestRunner.java:459) >>> > >>> > at >>> > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTe >>> sts(RemoteTestRunner.java:678) >>> > >>> > at >>> > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run( >>> RemoteTestRunner.java:382) >>> > >>> > at >>> > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main( >>> RemoteTestRunner.java:192) >>> > >>> > >>> > >>> > org.apache.commons.lang3.builder.ToStringBuilderTest >>> > testReflectionHierarchyArrayList(org.apache.commons.lang3.bu >>> ilder.ToStringBuilderTest) >>> > org.junit.ComparisonFailure: >>> > expected:<...700dfa[elementData={[<null>,<null>,<null>,< >>> null>,<null>,<null>,<null>,<null>,<null>,<null>]},size=0,modCount=0]> >>> > but was:<...700dfa[elementData={[]},size=0,modCount=0]> >>> > >>> > at org.junit.Assert.assertEquals(Assert.java:115) >>> > >>> > at org.junit.Assert.assertEquals(Assert.java:144) >>> > >>> > at >>> > org.apache.commons.lang3.builder.ToStringBuilderTest.testRef >>> lectionHierarchyArrayList(ToStringBuilderTest.java:324) >>> > >>> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>> > >>> > at >>> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce >>> ssorImpl.java:95) >>> > >>> > at >>> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe >>> thodAccessorImpl.java:55) >>> > >>> > at java.lang.reflect.Method.invoke(Method.java:508) >>> > >>> > at >>> > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall( >>> FrameworkMethod.java:50) >>> > >>> > at >>> > org.junit.internal.runners.model.ReflectiveCallable.run(Refl >>> ectiveCallable.java:12) >>> > >>> > at >>> > org.junit.runners.model.FrameworkMethod.invokeExplosively(Fr >>> ameworkMethod.java:47) >>> > >>> > at >>> > org.junit.internal.runners.statements.InvokeMethod.evaluate( >>> InvokeMethod.java:17) >>> > >>> > at >>> > org.junit.internal.runners.statements.RunAfters.evaluate(Run >>> Afters.java:27) >>> > >>> > at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) >>> > >>> > at >>> > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit >>> 4ClassRunner.java:78) >>> > >>> > at >>> > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit >>> 4ClassRunner.java:57) >>> > >>> > at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) >>> > >>> > at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) >>> > >>> > at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) >>> > >>> > at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) >>> > >>> > at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) >>> > >>> > at org.junit.runners.ParentRunner.run(ParentRunner.java:363) >>> > >>> > at >>> > org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference. >>> run(JUnit4TestReference.java:86) >>> > >>> > at >>> > org.eclipse.jdt.internal.junit.runner.TestExecution.run( >>> TestExecution.java:38) >>> > >>> > at >>> > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTe >>> sts(RemoteTestRunner.java:459) >>> > >>> > at >>> > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTe >>> sts(RemoteTestRunner.java:678) >>> > >>> > at >>> > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run( >>> RemoteTestRunner.java:382) >>> > >>> > at >>> > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main( >>> RemoteTestRunner.java:192) >>> > >>> > >>> > >>> > >>> > On Tue, May 23, 2017 at 4:25 PM, Benedikt Ritter <brit...@apache.org> >>> wrote: >>> > >>> >> Hello, >>> >> >>> >> I’m canceling this vote because: >>> >> >>> >> - mvn site does not work from the src distribution >>> >> - test failures on IBM JDK (where else…) >>> >> >>> >> I don’t know when I have the time to work an this. Any help is highly >>> >> appreciated. >>> >> >>> >> Regards, >>> >> Benedikt >>> >> >>> >>> Am 19.05.2017 um 16:52 schrieb Benedikt Ritter <brit...@apache.org>: >>> >>> >>> >>> Hello, >>> >>> >>> >>>> Am 17.05.2017 um 12:02 schrieb Benedikt Ritter <brit...@apache.org>: >>> >>>> >>> >>>> Hello, >>> >>>> >>> >>>> we have fixed quite a few bugs and added some nice new features since >>> >> Commons Lang 3.5 was released, so I would like to release Commons Lang >>> 3.6 >>> >> based on RC2. >>> >>>> The reason we had to cut a second release is, that there were some >>> >> discussions around the annotations for documenting concurrency >>> properties >>> >> in the o.a.c.l.concurrent.annotation package. I’ve removed those >>> >> annotations, so that we can fix them after the release. >>> >>>> >>> >>>> Commons Lang 3.6 R2 is available for review here: >>> >>>> https://dist.apache.org/repos/dist/dev/commons/lang (svn revision >>> >> 19714) >>> >>>> >>> >>>> The tag is here: >>> >>>> https://git-wip-us.apache.org/repos/asf?p=commons-lang.git;a=tag;h= >>> >> 75c28fc4678774c1d2c21b839b048db6b563b9ae >>> >>>> >>> >>>> Commit ID the tag points at: >>> >>>> 3a64cf6aff408a9cbdcb4d7456360a97d1a880f0 >>> >>>> >>> >>>> Maven Artifacts: >>> >>>> https://repository.apache.org/content/repositories/ >>> >> orgapachecommons-1247 >>> >>>> >>> >>>> These are the Maven artifacts and their hashes: >>> >>>> >>> >>>> /org/apache/commons/commons-lang3/3.6/commons-lang3-3.6-javadoc.jar >>> < >>> >> https://repository.apache.org/content/repositories/ >>> >> orgapachecommons-1247/org/apache/commons/commons-lang3/ >>> >> 3.6/commons-lang3-3.6-javadoc.jar> >>> >>>> (SHA1: eb05c235b85ffb6f70ea72082eb904a9fe1969d7) >>> >>>> /org/apache/commons/commons-lang3/3.6/commons-lang3-3.6-sour >>> ces.jar.asc >>> >> <https://repository.apache.org/content/repositories/ >>> >> orgapachecommons-1247/org/apache/commons/commons-lang3/ >>> >> 3.6/commons-lang3-3.6-sources.jar.asc> >>> >>>> (SHA1: 7b98c8ab56e16e974c85963b2497840405a3375e) >>> >>>> /org/apache/commons/commons-lang3/3.6/commons-lang3-3.6.pom.asc < >>> >> https://repository.apache.org/content/repositories/ >>> >> orgapachecommons-1247/org/apache/commons/commons-lang3/ >>> >> 3.6/commons-lang3-3.6.pom.asc> >>> >>>> (SHA1: 7524211600afb0deb3a5cab8ad9236299e3434a4) >>> >>>> /org/apache/commons/commons-lang3/3.6/commons-lang3-3.6.pom < >>> >> https://repository.apache.org/content/repositories/ >>> >> orgapachecommons-1247/org/apache/commons/commons-lang3/ >>> >> 3.6/commons-lang3-3.6.pom> >>> >>>> (SHA1: b38df078df7623b708cd439b1cb750619bd659cc) >>> >>>> /org/apache/commons/commons-lang3/3.6/commons-lang3-3.6.jar.asc < >>> >> https://repository.apache.org/content/repositories/ >>> >> orgapachecommons-1247/org/apache/commons/commons-lang3/ >>> >> 3.6/commons-lang3-3.6.jar.asc> >>> >>>> (SHA1: 4bf4d61116adcf699f1d7a866bcabcb50fc7b47f) >>> >>>> /org/apache/commons/commons-lang3/3.6/commons-lang3-3.6-java >>> doc.jar.asc >>> >> <https://repository.apache.org/content/repositories/ >>> >> orgapachecommons-1247/org/apache/commons/commons-lang3/ >>> >> 3.6/commons-lang3-3.6-javadoc.jar.asc> >>> >>>> (SHA1: d547ce41d41f38b143f5e5377d6bc990f0abbff6) >>> >>>> /org/apache/commons/commons-lang3/3.6/commons-lang3-3.6-sources.jar >>> < >>> >> https://repository.apache.org/content/repositories/ >>> >> orgapachecommons-1247/org/apache/commons/commons-lang3/ >>> >> 3.6/commons-lang3-3.6-sources.jar> >>> >>>> (SHA1: d9c5bbfb0b97c1f87e3f75cedd7eedbc5ec81182) >>> >>>> /org/apache/commons/commons-lang3/3.6/commons-lang3-3.6.jar < >>> >> https://repository.apache.org/content/repositories/ >>> >> orgapachecommons-1247/org/apache/commons/commons-lang3/ >>> >> 3.6/commons-lang3-3.6.jar> >>> >>>> (SHA1: e6e1ca5e4574da2af0f8d2891410857e36ce5969) >>> >>>> /org/apache/commons/commons-lang3/3.6/commons-lang3-3.6-tests.jar.asc >>> < >>> >> https://repository.apache.org/content/repositories/ >>> >> orgapachecommons-1247/org/apache/commons/commons-lang3/ >>> >> 3.6/commons-lang3-3.6-tests.jar.asc> >>> >>>> (SHA1: b8d25f4a01a5f50ab450044dd2a7688e37554bed) >>> >>>> /org/apache/commons/commons-lang3/3.6/commons-lang3-3.6-test >>> -sources.jar.asc >>> >> <https://repository.apache.org/content/repositories/ >>> >> orgapachecommons-1247/org/apache/commons/commons-lang3/ >>> >> 3.6/commons-lang3-3.6-test-sources.jar.asc> >>> >>>> (SHA1: ccca81cd4539437f3def2644119a6f187168963c) >>> >>>> /org/apache/commons/commons-lang3/3.6/commons-lang3-3.6-test >>> -sources.jar >>> >> <https://repository.apache.org/content/repositories/ >>> >> orgapachecommons-1247/org/apache/commons/commons-lang3/ >>> >> 3.6/commons-lang3-3.6-test-sources.jar> >>> >>>> (SHA1: 8daf4979fb38811bd4a5bf39e38bc7a3a6582104) >>> >>>> /org/apache/commons/commons-lang3/3.6/commons-lang3-3.6-tests.jar < >>> >> https://repository.apache.org/content/repositories/ >>> >> orgapachecommons-1247/org/apache/commons/commons-lang3/ >>> >> 3.6/commons-lang3-3.6-tests.jar> >>> >>>> (SHA1: 1f158e950250efab7cbca635e8393ab2ef666bca) >>> >>>> >>> >>>> I have tested this with JDK 7, JDK 8 and JDK 9 EA b165 using Maven >>> >> 3.5.0. >>> >>>> >>> >>>> Details of changes since 3.5 are in the release notes: >>> >>>> https://dist.apache.org/repos/dist/dev/commons/lang/RELEASE- >>> NOTES.txt >>> >>>> http://home.apache.org/~britter/commons/lang/LANG_3_6_ >>> >> RC2/changes-report.html >>> >>>> >>> >>>> Site: >>> >>>> http://home.apache.org/~britter/commons/lang/LANG_3_6_RC2/ >>> >>>> (note some *relative* links are broken and the 3.6 directories are >>> >>>> not yet created - these will be OK once the site is deployed) >>> >>>> >>> >>>> Clirr Report (compared to 3.5): >>> >>>> http://home.apache.org/~britter/commons/lang/LANG_3_6_ >>> >> RC2/clirr-report.html >>> >>>> >>> >>>> RAT Report: >>> >>>> http://home.apache.org/~britter/commons/lang/LANG_3_6_ >>> >> RC2/rat-report.html >>> >>>> >>> >>>> KEYS: >>> >>>> https://www.apache.org/dist/commons/KEYS >>> >>>> >>> >>>> Please review the release candidate and vote. >>> >>>> This vote will close no sooner that 72 hours from now, >>> >>>> i.e. sometime after 12:00 EDT (UTC-4) 20-May 2017 >>> >>>> >>> >>>> [ ] +1 Release these artifacts >>> >>>> [ ] +0 OK, but... >>> >>>> [ ] -0 OK, but really should fix... >>> >>>> [ ] -1 I oppose this release because… >>> >>> >>> >>> This vote is still pending. Please review the RC and cast your vote. >>> The >>> >> following issues have been found: >>> >>> >>> >>> - mvn site does not work from the source archive >>> >>> - Jigsaw meta data is missing >>> >>> >>> >>> I consider neither as a blocker for releasing 3.6 and would rather >>> like >>> >> to fix those in 3.6.1 (which I can prepare after my vacation). So >>> unless >>> >> nobody finds something else, I’d like to release this code. >>> >>> >>> >>> Thank you, >>> >>> Benedikt >>> >>> >>> >>>> >>> >>>> Thanks! >>> >>>> Benedikt >>> >>> >>> >>> >>> >>> --------------------------------------------------------------------- >>> >>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org >>> >>> For additional commands, e-mail: dev-h...@commons.apache.org >>> >>> >>> >> >>> >> >>> >> --------------------------------------------------------------------- >>> >> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org >>> >> For additional commands, e-mail: dev-h...@commons.apache.org >>> >> >>> >> >>> > >>> > >>> > -- >>> > E-Mail: garydgreg...@gmail.com | ggreg...@apache.org >>> > Java Persistence with Hibernate, Second Edition >>> > <https://www.amazon.com/gp/product/1617290459/ref=as_li_tl? >>> ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&link >>> Code=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8> >>> > >>> > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l= >>> am2&o=1&a=1617290459> >>> > JUnit in Action, Second Edition >>> > <https://www.amazon.com/gp/product/1935182021/ref=as_li_tl? >>> ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&link >>> Code=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de418%22> >>> > >>> > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l= >>> am2&o=1&a=1935182021> >>> > Spring Batch in Action >>> > <https://www.amazon.com/gp/product/1935182951/ref=as_li_tl? >>> ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&link >>> Code=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%7Bli >>> nk_id%7D%7D%22%3ESpring+Batch+in+Action> >>> > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l= >>> am2&o=1&a=1935182951> >>> > Blog: http://garygregory.wordpress.com >>> > Home: http://garygregory.com/ >>> > Tweet! http://twitter.com/GaryGregory >>> >>> >> >> >> -- >> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org >> Java Persistence with Hibernate, Second Edition >> <https://www.amazon.com/gp/product/1617290459/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&linkCode=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8> >> >> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1617290459> >> JUnit in Action, Second Edition >> <https://www.amazon.com/gp/product/1935182021/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&linkCode=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de418%22> >> >> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182021> >> Spring Batch in Action >> <https://www.amazon.com/gp/product/1935182951/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%7Blink_id%7D%7D%22%3ESpring+Batch+in+Action> >> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182951> >> Blog: http://garygregory.wordpress.com >> Home: http://garygregory.com/ >> Tweet! http://twitter.com/GaryGregory >> > > > > -- > E-Mail: garydgreg...@gmail.com | ggreg...@apache.org > Java Persistence with Hibernate, Second Edition > <https://www.amazon.com/gp/product/1617290459/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&linkCode=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8> > > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1617290459> > JUnit in Action, Second Edition > <https://www.amazon.com/gp/product/1935182021/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&linkCode=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de418%22> > > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182021> > Spring Batch in Action > <https://www.amazon.com/gp/product/1935182951/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%7Blink_id%7D%7D%22%3ESpring+Batch+in+Action> > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182951> > Blog: http://garygregory.wordpress.com > Home: http://garygregory.com/ > Tweet! http://twitter.com/GaryGregory --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org