logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gary Gregory <garydgreg...@gmail.com>
Subject Re: [VOTE] Log4j 2.0-rc1 RC2
Date Wed, 12 Feb 2014 16:15:58 GMT
Nick,

You've got to add your key to the project KEYS file, in the case the Log4j
projects KEYS file as referenced from
https://logging.apache.org/log4j/2.x/download.html

Verifying sigs and hashes is a step in the voting process AFAIK.

If you follow the links from my previous messages, you'll find all the
information you need about signing, keys, using PGP/GPG and so on.

Gary


On Wed, Feb 12, 2014 at 10:57 AM, Nick Williams <
nicholas@nicholaswilliams.net> wrote:

> I'm guessing the public key wasn't found because you didn't import it.
>
> I don't know why I would have generated a DSA key. That doesn't make any
> sense. Unfortunately, I can't even figure out how to VIEW the contents of
> my own GPG public key to see what's in it. All I've been able to find is
> how to list my keys and view their fingerprints, so I can't see whether any
> of them are RSA or DSA or what strength they are. Anyone have any
> suggestions?
>
> What I DO know is that, before I could become a committer, the ASF tech
> people required me to generate a key and upload it to a public site. I
> uploaded it to http://pgp.mit.edu/. They went and looked at the key and
> told me that it looked good and that I had been approved for committership.
> I assumed that meant the key was sufficient for ASF code signing purposes.
> I would think they would have told me that it was DSA and not strong
> enough. >:-[
>
> On the other hand, it's possible these instructions have changed in the
> last year and I just wasn't aware of it.
>
> Does this vote need to be canceled? Technically speaking, we already have
> 3 PMC votes, so I THINK that means a PMC member who has already voted +1
> would HAVE to change their vote to -1, but I may misunderstand that rule.
>
> Nick
>
> On Feb 12, 2014, at 9:01 AM, Gary Gregory wrote:
>
> Has anyone verified the signatures of all the files?
>
> I am guessing not, the first one I try fails:
>
> gpg --verify log4j-1.2-api-2.0-rc1.jar.asc
> gpg: Signature made 02/09/14 14:09:30 using DSA key ID ED446286
> gpg: Can't check signature: public key not found
>
> Also, we are NOT supposed to use DSA keys per
> https://www.apache.org/dev/release-signing.html
>
> Under "Important": "All new *RSA* keys generated should be at least *4096*bits. *Do
> not* generate new *DSA* keys."
>
> See "What are the ASF requirements on approving a release?" in
> https://www.apache.org/dev/release.html and
> https://www.apache.org/dev/release-publishing.html#signed
>
> Built from src zip with:
>
> Apache Maven 3.1.1 (0728685237757ffbf44136acec0402957f723d9a; 2013-09-17
> 11:22:22-0400)
> Maven home: C:\Java\apache-maven-3.1.1\bin\..
> Java version: 1.7.0_51, vendor: Oracle Corporation
> Java home: C:\Program Files\Java\jdk1.7.0_51\jre
> Default locale: en_US, platform encoding: Cp1252
> OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"
>
> Used BUILDING.txt to build the site, reports look good.
>
> Gary
>
>
>
> On Sun, Feb 9, 2014 at 2:56 PM, Nick Williams <
> nicholas@nicholaswilliams.net> wrote:
>
>> *This is a vote to release Log4j 2.0-rc1, the twelfth release of Log4j
>> 2.0.*
>>
>> This release contains several changes that break binary and backwards
>> compatibility with previous versions. Please read the release notes
>> correctly so that you can adjust your usage of Log4j 2, if necessary.
>>
>> *Changes in this version include:*
>>
>> New features:
>> o LOG4J2-530:  (JMX) JMX Client GUI should dynamically update when
>> LoggerContext MBeans are registered/unregistered in MBean server.
>> o LOG4J2-479:  ThreadContext now uses plain ThreadLocal by default,
>> unless system property isThreadContextMapInheritable has value "true".
>> Thanks to MK.
>> o LOG4J2-481:  Add Stream interface to Loggers. Thanks to Matt Sicker.
>> o LOG4J2-482:  Documentation fix: The attribute of Route to refer to an
>> appender is "ref" not "AppenderRef". Thanks to Hongdi Ren.
>> o LOG4J2-467:  Added option to toggle Thread name caching in AsyncLogger.
>> Thanks to Anthony Baldocchi.
>> o LOG4J2-423:  Added MBeans for instrumenting AsyncAppenders and
>> AsyncLogger RingBuffers, exposing queue size, remaining capacity and other
>> attributes.
>> o LOG4J2-420:  Create a lookup for resource bundle substitution.
>> o LOG4J2-415:  Format log event time as UNIX time (seconds or
>> milliseconds).
>> o LOG4J2-401:  Configure FileAppender buffer size.
>> o LOG4J2-402:  Configure RandomAccessFileAppender buffer size.
>>
>> Fixed Bugs:
>> o LOG4J2-500:  (JMX - ObjectNames changed!) Unloading one web application
>> unloads JMX MBeans for all web applications.
>> o LOG4J2-531:  Fixed bugs where rolled log files were overwritten by
>> RollingFile appender with composite time and size based policies. Thanks to
>> Geoff Ballinger.
>> o LOG4J2-475:  Changed the MongoDBConnection to add a MongoDB encoding
>> hook instead of a decoding hook. Thanks to Matt Sicker.
>> o LOG4J2-489:  Fixed the JPAAppender's overuse of transactions by
>> connecting (borrowing from pool) on new write internal or on flush.
>> o LOG4J2-457:  Fixed failure of JDBC and JPA appender to properly release
>> database connections by connecting (borrowing from pool) on new write
>> internal or on flush.
>> o LOG4J2-442:  Fixed problem with JDBC and JPA appender connectivity in
>> WebSphere by connecting (borrowing from pool) on new write internal or on
>> flush.
>> o LOG4J2-438:  Ensured the JDBCAppender commits transactions after a
>> single write or a flush of multiple writes.
>> o LOG4J2-407:  Fixed inability to recover from lost database connection
>> in database appenders by connecting (borrowing from pool) on new write
>> internal or on flush.
>> o LOG4J2-511:  Stop AsyncLoggerConfig Disruptor thread(s), then
>> AsyncAppender thread(s) first before stopping other appenders. Thanks to
>> James Pretorius.
>> o LOG4J2-392:  Stop AsyncLoggerConfig Disruptor thread(s), then
>> AsyncAppender thread(s) first before stopping other appenders. Thanks to
>> ilynaf, Andre Bogus.
>> o LOG4J2-345:  (OSGi) logging.log4j-1.2-api doesn't export the log4j API
>> 1.2. Dependent bundles can not be resolved. Thanks to Roland Weiglhofer,
>> Matt Sicker.
>> o LOG4J2-523:  LocalizedMessage serialization is broken.
>> o LOG4J2-385:  Fixed issues with time-based file rollover (monthly,
>> weekly, hourly and every minute). Thanks to Ace Funk, Porfirio Partida.
>> o LOG4J2-452:  Added a ServletContext attribute that, when set to "true",
>> disables Log4j's auto-initialization in Servlet 3.0+ web applications.
>> o LOG4J2-512:  Exposed Log4j web support interface and methods and the
>> LoggerContext through ServletContext attributes so that threads not
>> affected by filters (such as asynchronous threads) can utilize the
>> LoggerContext. Also updated the Log4j filter so that it supports async.
>> Thanks to Chandra Sekhar Kakarla, Matt Sicker.
>> o LOG4J2-409:  Created a utility to properly escape backslashes before
>> creating URIs, and changed URI creation to use the utility instead of
>> instantiating URI directly. Thanks to Frank Steinmann, Thomas Neidhart.
>> o LOG4J2-344:  Changed the Servlet 3.0 auto-initializer to add the filter
>> by class to get around a WebLogic bug. Thanks to Keir Lawson, Tomasz
>> Wladzinski.
>> o LOG4J2-359:  Changed the Servlet 3.0 auto-initializer so that it does
>> nothing in a Servlet 2.5 or older application. This ensures behavioral
>> consistency across containers. This includes additional fixes to abort
>> initialization if a duplicate filter already exists and to check the actual
>> Servlet EFFECTIVE version. Thanks to Abhinav Shah.
>> o LOG4J2-517:  Switch in log4j-1.2-api Category.getEffectiveLevel has no
>> cases for FATAL, OFF.
>> o LOG4J2-406:  (JMX) Unregister all log4j JMX MBeans when the
>> LoggerContext is stopped to allow web application classes to be GC-ed on
>> undeploy. Thanks to Kerrigan Joseph.
>> o LOG4J2-405:  Configuration was being processed twice at startup.
>> o LOG4J2-398:  Configure properties and setup Interpolator before
>> processing rest of configuration.
>> o LOG4J2-470:  hostName property was not being set until after the first
>> configuration element.
>> o LOG4J2-464:  Support arrays as sub-elements of a JSON configuration.
>> o LOG4J2-492:  (JMX) Fixed MalformedObjectNameException if context name
>> contains '=' or newline characters. Thanks to Shaddy Baddah, Herlani
>> Junior.
>> o LOG4J2-377:  (OSGi) Fix NPE during shutdown. Thanks to Roland
>> Weiglhofer, Matt Sicker.
>> o LOG4J2-463:  Fixed documentation for MyApp example application in the
>> Automatic Configuration section Thanks to Michael Diamond, Matt Sicker.
>> o LOG4J2-408:  Fixed error in documentation code example in
>> manual/eventlogging.html Thanks to Dongqing Hu, Matt Sicker.
>> o LOG4J2-451:  Fixed typo in documentation: system property should be
>> log4j2.loggerContextFactory Thanks to Vinay Pothnis, Matt Sicker.
>> o LOG4J2-443:  Fixed issue where log4j2 LoggerContext did not show up in
>> JMX GUI or JConsole. Thanks to Colin Froggatt, Tudor Har.
>> o LOG4J2-485:  Fixed issue where toString methods that perform logging
>> could deadlock AsyncAppender.
>> o LOG4J2-445:  ResolverUtil cannot find packages in file URLs which
>> include the '+' character. Thanks to Anthony Baldocchi.
>> o LOG4J2-430:  Use the formatted Message in RFC5424Layout for
>> non-StructuredDataMessages. Thanks to David Gstir.
>> o LOG4J2-459:  Set external context when constructing the LoggerContext.
>> o LOG4J2-466:  Cannot load log4j2 config file if path contains plus '+'
>> characters. Thanks to Jan Tepke.
>> o LOG4J2-462:  Fix LogEvent to never return null Level, fixes
>> LevelPatternConverter.format may throw NPE. Thanks to Daisuke Baba.
>> o LOG4J2-465:  Fix LogEvent to never return null Level, fixes
>> ThresholdFilter throws NPE. Thanks to Daisuke Baba.
>> o LOG4J2-471:  Fixed issue where toString methods that perform logging
>> could deadlock AsyncLogger. Thanks to Anthony Baldocchi.
>> o LOG4J2-478:  The message and ndc fields are not JavaScript escaped in
>> JSONLayout. Thanks to Michael Friedmann..
>> o LOG4J2-455:  RingBufferLogEvent should return Message timestamp for
>> TimestampMessage messages. Thanks to Robin Zhang Tao.
>> o LOG4J2-477:  NPE in ClassLoaderContextSelector. Thanks to Tal Liron.
>> o LOG4J2-454:  TimeBasedTriggeringPolicy should use event time millis.
>> Thanks to Robin Zhang Tao.
>> o LOG4J2-472:  BaseConfiguration class does not properly implement
>> Configuration interface. Thanks to Tal Liron.
>> o LOG4J2-447:  XMLLayout does not include marker name. Thanks to Jeff
>> Hudren, Mark Paluch, Scott Deboy.
>> o LOG4J2-323:  Resolved memory leak by releasing reference to ThreadLocal
>> when AsyncLogger is stopped.
>> o LOG4J2-425:  Resolved memory leak by populating AsyncLoggerConfigHelper
>> ring buffer via EventTranslatorTwoArg, eliminating the need for a
>> ThreadLocal.
>> o LOG4J2-417:  Fix Event Level / LoggerConfig Level table at the
>> architecture documentation page.
>> o LOG4J2-404:  @EnterpriseNumber" was missing in the ID of structured
>> data when RFC5424Layout is used Thanks to Kamal Bahadur.
>> o LOG4J2-379:  Fixed issue that prevented Log4J from working in Google
>> App Engine.
>>
>> Changes:
>> o Renamed the org.apache.logging.log4j.core.appender.db.nosql.mongo
>> package to org.apache.logging.log4j.core.appender.db.nosql.mongodb.
>> o Renamed the org.apache.logging.log4j.core.appender.db.nosql.couch
>> package to org.apache.logging.log4j.core.appender.db.nosql.couchdb.
>> o LOG4J2-507:  Space Level numbers by 100 instead of 1.
>> o LOG4J2-41:  Add support for custom logging levels. Thanks to Nick
>> Williams.
>> o LOG4J2-490:  Update EasyMock to version 3.2. Thanks to Matt Sicker.
>> o LOG4J2-453:  Update Flume Appender to use Flume 1.4.0.
>> o LOG4J2-528:  Rename package
>> org.apache.logging.log4j.core.appender.rolling.helper to
>> org.apache.logging.log4j.core.appender.rolling.action.
>> o LOG4J2-532:  Resource leak in Flume appender when it cannot create a
>> BerkeleyDB db.
>>
>> *Please test and cast your votes.*
>> [ ] +1, release the artifacts
>> [ ] -1, don't release because...
>>
>> The vote will remain open for 72 hours (or more if required).
>>
>> *Tag:*
>> http://svn.apache.org/viewvc/logging/log4j/log4j2/tags/log4j-2.0-rc1/
>>
>> *SVN revision:* 1566354
>>
>> *Website:* http://people.apache.org/~nickwilliams/log4j/
>>
>> *Artifacts:*
>> https://repository.apache.org/content/repositories/orgapachelogging-1002/
>>
>> The artifacts may be downloaded using
>> wget -e robots=off --cut-dirs=3 -r -p -np --no-check-certificate
>> https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/
>>
>> *Description:*
>>
>> 2.0-rc1 RC2
>>
>> *Details:*
>>
>> The following artifacts have been staged to the org.apache.logging-1002
>> (u:nickwilliams, a:69.180.246.95)<https://repository.apache.org/content/repositories/orgapachelogging-1002>
>>  repository.
>>
>>  archetype-catalog.xml<https://repository.apache.org/content/repositories/orgapachelogging-1002/archetype-catalog.xml>
>> log4j-jmx-gui-2.0-rc1-javadoc.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-jmx-gui/2.0-rc1/log4j-jmx-gui-2.0-rc1-javadoc.jar>
>>  log4j-jmx-gui-2.0-rc1.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-jmx-gui/2.0-rc1/log4j-jmx-gui-2.0-rc1.jar>
>>  log4j-jmx-gui-2.0-rc1-sources.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-jmx-gui/2.0-rc1/log4j-jmx-gui-2.0-rc1-sources.jar>
>>  log4j-jmx-gui-2.0-rc1.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-jmx-gui/2.0-rc1/log4j-jmx-gui-2.0-rc1.jar.asc>
>>  log4j-jmx-gui-2.0-rc1-javadoc.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-jmx-gui/2.0-rc1/log4j-jmx-gui-2.0-rc1-javadoc.jar.asc>
>>  log4j-jmx-gui-2.0-rc1-sources.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-jmx-gui/2.0-rc1/log4j-jmx-gui-2.0-rc1-sources.jar.asc>
>>  log4j-jmx-gui-2.0-rc1.pom.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-jmx-gui/2.0-rc1/log4j-jmx-gui-2.0-rc1.pom.asc>
>>  *log4j-jmx-gui-2.0-rc1.pom
>> <https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-jmx-gui/2.0-rc1/log4j-jmx-gui-2.0-rc1.pom>*
>> log4j-slf4j-impl-2.0-rc1-javadoc.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-slf4j-impl/2.0-rc1/log4j-slf4j-impl-2.0-rc1-javadoc.jar.asc>
>>  log4j-slf4j-impl-2.0-rc1.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-slf4j-impl/2.0-rc1/log4j-slf4j-impl-2.0-rc1.jar.asc>
>>  log4j-slf4j-impl-2.0-rc1-javadoc.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-slf4j-impl/2.0-rc1/log4j-slf4j-impl-2.0-rc1-javadoc.jar>
>>  log4j-slf4j-impl-2.0-rc1.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-slf4j-impl/2.0-rc1/log4j-slf4j-impl-2.0-rc1.jar>
>>  log4j-slf4j-impl-2.0-rc1-sources.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-slf4j-impl/2.0-rc1/log4j-slf4j-impl-2.0-rc1-sources.jar>
>>  log4j-slf4j-impl-2.0-rc1-sources.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-slf4j-impl/2.0-rc1/log4j-slf4j-impl-2.0-rc1-sources.jar.asc>
>>  log4j-slf4j-impl-2.0-rc1.pom.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-slf4j-impl/2.0-rc1/log4j-slf4j-impl-2.0-rc1.pom.asc>
>>  log4j-slf4j-impl-2.0-rc1.pom<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-slf4j-impl/2.0-rc1/log4j-slf4j-impl-2.0-rc1.pom>
>>  log4j-samples-2.0-rc1.pom<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/samples/log4j-samples/2.0-rc1/log4j-samples-2.0-rc1.pom>
>>  log4j-samples-2.0-rc1.pom.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/samples/log4j-samples/2.0-rc1/log4j-samples-2.0-rc1.pom.asc>
>>  log4j-samples-flume-common-2.0-rc1-sources.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/samples/log4j-samples-flume-common/2.0-rc1/log4j-samples-flume-common-2.0-rc1-sources.jar.asc>
>>  log4j-samples-flume-common-2.0-rc1.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/samples/log4j-samples-flume-common/2.0-rc1/log4j-samples-flume-common-2.0-rc1.jar>
>>  log4j-samples-flume-common-2.0-rc1.pom.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/samples/log4j-samples-flume-common/2.0-rc1/log4j-samples-flume-common-2.0-rc1.pom.asc>
>>  log4j-samples-flume-common-2.0-rc1-javadoc.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/samples/log4j-samples-flume-common/2.0-rc1/log4j-samples-flume-common-2.0-rc1-javadoc.jar.asc>
>>  log4j-samples-flume-common-2.0-rc1-javadoc.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/samples/log4j-samples-flume-common/2.0-rc1/log4j-samples-flume-common-2.0-rc1-javadoc.jar>
>>  log4j-samples-flume-common-2.0-rc1.pom<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/samples/log4j-samples-flume-common/2.0-rc1/log4j-samples-flume-common-2.0-rc1.pom>
>>  log4j-samples-flume-common-2.0-rc1-sources.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/samples/log4j-samples-flume-common/2.0-rc1/log4j-samples-flume-common-2.0-rc1-sources.jar>
>>  log4j-samples-flume-common-2.0-rc1.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/samples/log4j-samples-flume-common/2.0-rc1/log4j-samples-flume-common-2.0-rc1.jar.asc>
>>  log4j-jcl-2.0-rc1-javadoc.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-jcl/2.0-rc1/log4j-jcl-2.0-rc1-javadoc.jar>
>>  log4j-jcl-2.0-rc1.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-jcl/2.0-rc1/log4j-jcl-2.0-rc1.jar>
>>  log4j-jcl-2.0-rc1-javadoc.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-jcl/2.0-rc1/log4j-jcl-2.0-rc1-javadoc.jar.asc>
>>  *log4j-jcl-2.0-rc1.pom
>> <https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-jcl/2.0-rc1/log4j-jcl-2.0-rc1.pom>*
>> log4j-jcl-2.0-rc1-sources.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-jcl/2.0-rc1/log4j-jcl-2.0-rc1-sources.jar>
>>  log4j-jcl-2.0-rc1-sources.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-jcl/2.0-rc1/log4j-jcl-2.0-rc1-sources.jar.asc>
>>  log4j-jcl-2.0-rc1.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-jcl/2.0-rc1/log4j-jcl-2.0-rc1.jar.asc>
>>  log4j-jcl-2.0-rc1.pom.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-jcl/2.0-rc1/log4j-jcl-2.0-rc1.pom.asc>
>>  log4j-taglib-2.0-rc1-javadoc.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-taglib/2.0-rc1/log4j-taglib-2.0-rc1-javadoc.jar>
>>  log4j-taglib-2.0-rc1.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-taglib/2.0-rc1/log4j-taglib-2.0-rc1.jar.asc>
>>  log4j-taglib-2.0-rc1.pom.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-taglib/2.0-rc1/log4j-taglib-2.0-rc1.pom.asc>
>>  log4j-taglib-2.0-rc1-sources.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-taglib/2.0-rc1/log4j-taglib-2.0-rc1-sources.jar>
>>  log4j-taglib-2.0-rc1-sources.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-taglib/2.0-rc1/log4j-taglib-2.0-rc1-sources.jar.asc>
>>  log4j-taglib-2.0-rc1-javadoc.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-taglib/2.0-rc1/log4j-taglib-2.0-rc1-javadoc.jar.asc>
>>  log4j-taglib-2.0-rc1.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-taglib/2.0-rc1/log4j-taglib-2.0-rc1.jar>
>>  log4j-taglib-2.0-rc1.pom<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-taglib/2.0-rc1/log4j-taglib-2.0-rc1.pom>
>>  log4j-core-osgi-jpa-2.0-rc1.pom.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/osgi/log4j-core-osgi-jpa/2.0-rc1/log4j-core-osgi-jpa-2.0-rc1.pom.asc>
>>  log4j-core-osgi-jpa-2.0-rc1.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/osgi/log4j-core-osgi-jpa/2.0-rc1/log4j-core-osgi-jpa-2.0-rc1.jar.asc>
>>  log4j-core-osgi-jpa-2.0-rc1.pom<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/osgi/log4j-core-osgi-jpa/2.0-rc1/log4j-core-osgi-jpa-2.0-rc1.pom>
>>  log4j-core-osgi-jpa-2.0-rc1.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/osgi/log4j-core-osgi-jpa/2.0-rc1/log4j-core-osgi-jpa-2.0-rc1.jar>
>>  log4j-osgi-2.0-rc1.pom.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/osgi/log4j-osgi/2.0-rc1/log4j-osgi-2.0-rc1.pom.asc>
>>  log4j-osgi-2.0-rc1.pom<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/osgi/log4j-osgi/2.0-rc1/log4j-osgi-2.0-rc1.pom>
>>  log4j-core-osgi-nosql-couch-2.0-rc1.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/osgi/log4j-core-osgi-nosql-couch/2.0-rc1/log4j-core-osgi-nosql-couch-2.0-rc1.jar.asc>
>>  log4j-core-osgi-nosql-couch-2.0-rc1.pom<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/osgi/log4j-core-osgi-nosql-couch/2.0-rc1/log4j-core-osgi-nosql-couch-2.0-rc1.pom>
>>  log4j-core-osgi-nosql-couch-2.0-rc1.pom.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/osgi/log4j-core-osgi-nosql-couch/2.0-rc1/log4j-core-osgi-nosql-couch-2.0-rc1.pom.asc>
>>  log4j-core-osgi-nosql-couch-2.0-rc1.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/osgi/log4j-core-osgi-nosql-couch/2.0-rc1/log4j-core-osgi-nosql-couch-2.0-rc1.jar>
>>  log4j-core-osgi-reduced-2.0-rc1.pom.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/osgi/log4j-core-osgi-reduced/2.0-rc1/log4j-core-osgi-reduced-2.0-rc1.pom.asc>
>>  log4j-core-osgi-reduced-2.0-rc1.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/osgi/log4j-core-osgi-reduced/2.0-rc1/log4j-core-osgi-reduced-2.0-rc1.jar.asc>
>>  log4j-core-osgi-reduced-2.0-rc1.pom<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/osgi/log4j-core-osgi-reduced/2.0-rc1/log4j-core-osgi-reduced-2.0-rc1.pom>
>>  log4j-core-osgi-reduced-2.0-rc1.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/osgi/log4j-core-osgi-reduced/2.0-rc1/log4j-core-osgi-reduced-2.0-rc1.jar>
>>  log4j-core-osgi-net-2.0-rc1.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/osgi/log4j-core-osgi-net/2.0-rc1/log4j-core-osgi-net-2.0-rc1.jar>
>>  log4j-core-osgi-net-2.0-rc1.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/osgi/log4j-core-osgi-net/2.0-rc1/log4j-core-osgi-net-2.0-rc1.jar.asc>
>>  log4j-core-osgi-net-2.0-rc1.pom<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/osgi/log4j-core-osgi-net/2.0-rc1/log4j-core-osgi-net-2.0-rc1.pom>
>>  log4j-core-osgi-net-2.0-rc1.pom.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/osgi/log4j-core-osgi-net/2.0-rc1/log4j-core-osgi-net-2.0-rc1.pom.asc>
>>  log4j-core-osgi-nosql-mongo-2.0-rc1.pom.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/osgi/log4j-core-osgi-nosql-mongo/2.0-rc1/log4j-core-osgi-nosql-mongo-2.0-rc1.pom.asc>
>>  log4j-core-osgi-nosql-mongo-2.0-rc1.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/osgi/log4j-core-osgi-nosql-mongo/2.0-rc1/log4j-core-osgi-nosql-mongo-2.0-rc1.jar>
>>  log4j-core-osgi-nosql-mongo-2.0-rc1.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/osgi/log4j-core-osgi-nosql-mongo/2.0-rc1/log4j-core-osgi-nosql-mongo-2.0-rc1.jar.asc>
>>  log4j-core-osgi-nosql-mongo-2.0-rc1.pom<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/osgi/log4j-core-osgi-nosql-mongo/2.0-rc1/log4j-core-osgi-nosql-mongo-2.0-rc1.pom>
>>  log4j-core-osgi-async-2.0-rc1.pom<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/osgi/log4j-core-osgi-async/2.0-rc1/log4j-core-osgi-async-2.0-rc1.pom>
>>  log4j-core-osgi-async-2.0-rc1.pom.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/osgi/log4j-core-osgi-async/2.0-rc1/log4j-core-osgi-async-2.0-rc1.pom.asc>
>>  log4j-core-osgi-async-2.0-rc1.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/osgi/log4j-core-osgi-async/2.0-rc1/log4j-core-osgi-async-2.0-rc1.jar.asc>
>>  log4j-core-osgi-async-2.0-rc1.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/osgi/log4j-core-osgi-async/2.0-rc1/log4j-core-osgi-async-2.0-rc1.jar>
>>  log4j-distribution-2.0-rc1-bin.tar.gz.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-distribution/2.0-rc1/log4j-distribution-2.0-rc1-bin.tar.gz.asc>
>>  log4j-distribution-2.0-rc1-bin.zip<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-distribution/2.0-rc1/log4j-distribution-2.0-rc1-bin.zip>
>>  log4j-distribution-2.0-rc1.pom<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-distribution/2.0-rc1/log4j-distribution-2.0-rc1.pom>
>>  log4j-distribution-2.0-rc1-src.tar.gz<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-distribution/2.0-rc1/log4j-distribution-2.0-rc1-src.tar.gz>
>>  log4j-distribution-2.0-rc1-bin.zip.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-distribution/2.0-rc1/log4j-distribution-2.0-rc1-bin.zip.asc>
>>  log4j-distribution-2.0-rc1.pom.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-distribution/2.0-rc1/log4j-distribution-2.0-rc1.pom.asc>
>>  log4j-distribution-2.0-rc1-osgi-bin.zip<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-distribution/2.0-rc1/log4j-distribution-2.0-rc1-osgi-bin.zip>
>>  log4j-distribution-2.0-rc1-osgi-bin.zip.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-distribution/2.0-rc1/log4j-distribution-2.0-rc1-osgi-bin.zip.asc>
>>  log4j-distribution-2.0-rc1-osgi-bin.tar.gz<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-distribution/2.0-rc1/log4j-distribution-2.0-rc1-osgi-bin.tar.gz>
>>  log4j-distribution-2.0-rc1-src.zip<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-distribution/2.0-rc1/log4j-distribution-2.0-rc1-src.zip>
>>  log4j-distribution-2.0-rc1-osgi-bin.tar.gz.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-distribution/2.0-rc1/log4j-distribution-2.0-rc1-osgi-bin.tar.gz.asc>
>>  log4j-distribution-2.0-rc1-src.tar.gz.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-distribution/2.0-rc1/log4j-distribution-2.0-rc1-src.tar.gz.asc>
>>  log4j-distribution-2.0-rc1-src.zip.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-distribution/2.0-rc1/log4j-distribution-2.0-rc1-src.zip.asc>
>>  log4j-distribution-2.0-rc1-bin.tar.gz<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-distribution/2.0-rc1/log4j-distribution-2.0-rc1-bin.tar.gz>
>>  log4j-1.2-api-2.0-rc1-javadoc.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-1.2-api/2.0-rc1/log4j-1.2-api-2.0-rc1-javadoc.jar>
>>  log4j-1.2-api-2.0-rc1-javadoc.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-1.2-api/2.0-rc1/log4j-1.2-api-2.0-rc1-javadoc.jar.asc>
>>  log4j-1.2-api-2.0-rc1.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-1.2-api/2.0-rc1/log4j-1.2-api-2.0-rc1.jar.asc>
>>  log4j-1.2-api-2.0-rc1.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-1.2-api/2.0-rc1/log4j-1.2-api-2.0-rc1.jar>
>>  log4j-1.2-api-2.0-rc1.pom.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-1.2-api/2.0-rc1/log4j-1.2-api-2.0-rc1.pom.asc>
>>  log4j-1.2-api-2.0-rc1.pom<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-1.2-api/2.0-rc1/log4j-1.2-api-2.0-rc1.pom>
>>  log4j-1.2-api-2.0-rc1-sources.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-1.2-api/2.0-rc1/log4j-1.2-api-2.0-rc1-sources.jar>
>>  log4j-1.2-api-2.0-rc1-sources.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-1.2-api/2.0-rc1/log4j-1.2-api-2.0-rc1-sources.jar.asc>
>>  log4j-flume-ng-2.0-rc1.pom.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-flume-ng/2.0-rc1/log4j-flume-ng-2.0-rc1.pom.asc>
>>  log4j-flume-ng-2.0-rc1-sources.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-flume-ng/2.0-rc1/log4j-flume-ng-2.0-rc1-sources.jar.asc>
>>  log4j-flume-ng-2.0-rc1-tests.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-flume-ng/2.0-rc1/log4j-flume-ng-2.0-rc1-tests.jar.asc>
>>  log4j-flume-ng-2.0-rc1-tests.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-flume-ng/2.0-rc1/log4j-flume-ng-2.0-rc1-tests.jar>
>>  log4j-flume-ng-2.0-rc1.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-flume-ng/2.0-rc1/log4j-flume-ng-2.0-rc1.jar>
>>  log4j-flume-ng-2.0-rc1-sources.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-flume-ng/2.0-rc1/log4j-flume-ng-2.0-rc1-sources.jar>
>>  log4j-flume-ng-2.0-rc1.pom<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-flume-ng/2.0-rc1/log4j-flume-ng-2.0-rc1.pom>
>>  log4j-flume-ng-2.0-rc1-javadoc.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-flume-ng/2.0-rc1/log4j-flume-ng-2.0-rc1-javadoc.jar.asc>
>>  log4j-flume-ng-2.0-rc1.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-flume-ng/2.0-rc1/log4j-flume-ng-2.0-rc1.jar.asc>
>>  log4j-flume-ng-2.0-rc1-javadoc.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-flume-ng/2.0-rc1/log4j-flume-ng-2.0-rc1-javadoc.jar>
>>  log4j-to-slf4j-2.0-rc1-sources.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-to-slf4j/2.0-rc1/log4j-to-slf4j-2.0-rc1-sources.jar.asc>
>>  log4j-to-slf4j-2.0-rc1.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-to-slf4j/2.0-rc1/log4j-to-slf4j-2.0-rc1.jar.asc>
>>  log4j-to-slf4j-2.0-rc1.pom<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-to-slf4j/2.0-rc1/log4j-to-slf4j-2.0-rc1.pom>
>>  log4j-to-slf4j-2.0-rc1-javadoc.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-to-slf4j/2.0-rc1/log4j-to-slf4j-2.0-rc1-javadoc.jar>
>>  log4j-to-slf4j-2.0-rc1-sources.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-to-slf4j/2.0-rc1/log4j-to-slf4j-2.0-rc1-sources.jar>
>>  log4j-to-slf4j-2.0-rc1-javadoc.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-to-slf4j/2.0-rc1/log4j-to-slf4j-2.0-rc1-javadoc.jar.asc>
>>  log4j-to-slf4j-2.0-rc1.pom.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-to-slf4j/2.0-rc1/log4j-to-slf4j-2.0-rc1.pom.asc>
>>  log4j-to-slf4j-2.0-rc1.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-to-slf4j/2.0-rc1/log4j-to-slf4j-2.0-rc1.jar>
>>  log4j-api-2.0-rc1.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-api/2.0-rc1/log4j-api-2.0-rc1.jar>
>>  log4j-api-2.0-rc1.pom<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-api/2.0-rc1/log4j-api-2.0-rc1.pom>
>>  log4j-api-2.0-rc1-tests.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-api/2.0-rc1/log4j-api-2.0-rc1-tests.jar>
>>  log4j-api-2.0-rc1-tests.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-api/2.0-rc1/log4j-api-2.0-rc1-tests.jar.asc>
>>  log4j-api-2.0-rc1-javadoc.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-api/2.0-rc1/log4j-api-2.0-rc1-javadoc.jar.asc>
>>  log4j-api-2.0-rc1.pom.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-api/2.0-rc1/log4j-api-2.0-rc1.pom.asc>
>>  log4j-api-2.0-rc1-sources.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-api/2.0-rc1/log4j-api-2.0-rc1-sources.jar.asc>
>>  log4j-api-2.0-rc1.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-api/2.0-rc1/log4j-api-2.0-rc1.jar.asc>
>>  log4j-api-2.0-rc1-sources.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-api/2.0-rc1/log4j-api-2.0-rc1-sources.jar>
>>  log4j-api-2.0-rc1-javadoc.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-api/2.0-rc1/log4j-api-2.0-rc1-javadoc.jar>
>>  log4j-core-2.0-rc1.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-core/2.0-rc1/log4j-core-2.0-rc1.jar>
>>  log4j-core-2.0-rc1.pom<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-core/2.0-rc1/log4j-core-2.0-rc1.pom>
>>  log4j-core-2.0-rc1-javadoc.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-core/2.0-rc1/log4j-core-2.0-rc1-javadoc.jar.asc>
>>  log4j-core-2.0-rc1.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-core/2.0-rc1/log4j-core-2.0-rc1.jar.asc>
>>  log4j-core-2.0-rc1-javadoc.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-core/2.0-rc1/log4j-core-2.0-rc1-javadoc.jar>
>>  log4j-core-2.0-rc1.pom.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-core/2.0-rc1/log4j-core-2.0-rc1.pom.asc>
>>  log4j-core-2.0-rc1-sources.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-core/2.0-rc1/log4j-core-2.0-rc1-sources.jar>
>>  log4j-core-2.0-rc1-sources.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-core/2.0-rc1/log4j-core-2.0-rc1-sources.jar.asc>
>>  log4j-core-2.0-rc1-tests.jar.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-core/2.0-rc1/log4j-core-2.0-rc1-tests.jar.asc>
>>  log4j-core-2.0-rc1-tests.jar<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j-core/2.0-rc1/log4j-core-2.0-rc1-tests.jar>
>>  log4j-2.0-rc1.pom<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j/2.0-rc1/log4j-2.0-rc1.pom>
>>  log4j-2.0-rc1.pom.asc<https://repository.apache.org/content/repositories/orgapachelogging-1002/org/apache/logging/log4j/log4j/2.0-rc1/log4j-2.0-rc1.pom.asc>
>>
>
>
>
> --
> E-Mail: garydgregory@gmail.com | ggregory@apache.org
> Java Persistence with Hibernate, Second Edition<http://www.manning.com/bauer3/>
> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
> Spring Batch in Action <http://www.manning.com/templier/>
> Blog: http://garygregory.wordpress.com
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory
>
>
>


-- 
E-Mail: garydgregory@gmail.com | ggregory@apache.org
Java Persistence with Hibernate, Second Edition<http://www.manning.com/bauer3/>
JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
Spring Batch in Action <http://www.manning.com/templier/>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Mime
View raw message