Ah, thank you. On Tue, Jul 26, 2016 at 10:33 PM, Mikael Ståldal <mikael.stal...@magine.com> wrote:
> The use case is here: https://issues.apache.org/jira/browse/LOG4J2-801 > > On Tue, Jul 26, 2016 at 2:43 PM, Remko Popma <remko.po...@gmail.com> > wrote: > >> What is the exact use case? Who needs this, and what do they want to >> accomplish? >> If Apache Spark needs this we should be able to find out more without >> having to guess... >> >> On Tue, Jul 26, 2016 at 9:36 PM, Mikael Ståldal < >> mikael.stal...@magine.com> wrote: >> >>> And if we cannot fix it, we should remove Serializable from >>> AbstractLogger. >>> >>> On Tue, Jul 26, 2016 at 2:06 PM, Mikael Ståldal < >>> mikael.stal...@magine.com> wrote: >>> >>>> If that's the case, we should reopen >>>> https://issues.apache.org/jira/browse/LOG4J2-801 >>>> >>>> >>>> On Tue, Jul 26, 2016 at 1:47 PM, Remko Popma <remko.po...@gmail.com> >>>> wrote: >>>> >>>>> But realistically it may not be easy to spin up a background thread >>>>> etc on deserialization. >>>>> >>>>> Sent from my iPhone >>>>> >>>>> On 2016/07/26, at 20:08, Mikael Ståldal <mikael.stal...@magine.com> >>>>> wrote: >>>>> >>>>> It seems like this should be the case already: >>>>> >>>>> https://issues.apache.org/jira/browse/LOG4J2-801 >>>>> >>>>> What about AsyncLogger though? >>>>> >>>>> On Tue, Jul 26, 2016 at 12:07 PM, Mikael Ståldal < >>>>> mikael.stal...@magine.com> wrote: >>>>> >>>>>> That deserialized loggers work (given that all needed dependencies >>>>>> are on classpath) is a reasonable expectation. If we cannot guarantee >>>>>> that, then we should not declare that loggers are serializable. >>>>>> >>>>>> On Tue, Jul 26, 2016 at 11:45 AM, Remko Popma <remko.po...@gmail.com> >>>>>> wrote: >>>>>> >>>>>>> Sure. What is the expectation here? >>>>>>> Do deserialized Loggers work? >>>>>>> >>>>>>> Sent from my iPhone >>>>>>> >>>>>>> On 2016/07/26, at 17:26, Mikael Ståldal <mikael.stal...@magine.com> >>>>>>> wrote: >>>>>>> >>>>>>> Can we at least document that we guarantee that Loggers from >>>>>>> log4j-impl are always serializable? >>>>>>> >>>>>>> On Tue, Jul 26, 2016 at 1:52 AM, Remko Popma <remko.po...@gmail.com> >>>>>>> wrote: >>>>>>> >>>>>>>> >>>>>>>> On 2016/07/26, at 1:43, Mikael Ståldal <mikael.stal...@magine.com> >>>>>>>> wrote: >>>>>>>> >>>>>>>> The purpose is that the user of Log4j can be sure that the Logger >>>>>>>> is serializable. >>>>>>>> >>>>>>>> >>>>>>>> If that is a consideration, the user can select an implementation >>>>>>>> that is fit for purpose. >>>>>>>> >>>>>>>> I generally prefer not to make too many guarantees in an interface >>>>>>>> to give implementations more flexibility. >>>>>>>> >>>>>>>> On Mon, Jul 25, 2016 at 6:38 PM, Gary Gregory < >>>>>>>> garydgreg...@gmail.com> wrote: >>>>>>>> >>>>>>>>> But to what purpose? Does Log4j itself need this? Is this a case >>>>>>>>> of YAGNI? >>>>>>>>> >>>>>>>>> If I have a Logger in an object I serialize, and the class >>>>>>>>> implementing Logger is serializable, then I am good to go. >>>>>>>>> >>>>>>>>> Making Logger Serializable, would make this obvious to users and >>>>>>>>> might make some developers warm and fuzzy. It just seems like an odd >>>>>>>>> requirement for ALL implementors of Loggers to be serializable. As a >>>>>>>>> third >>>>>>>>> party Logger implementor, that does not mean it would be done >>>>>>>>> properly. >>>>>>>>> Implementing the interface is no guarantee of proper behavior. >>>>>>>>> >>>>>>>>> Overall, it seems like it would make Log4j less friendly to 3rd >>>>>>>>> party implementors. Are there even any? >>>>>>>>> >>>>>>>>> Gary >>>>>>>>> >>>>>>>>> On Mon, Jul 25, 2016 at 9:07 AM, Mikael Ståldal < >>>>>>>>> mikael.stal...@magine.com> wrote: >>>>>>>>> >>>>>>>>>> But maybe we actually want to force all implementations to be >>>>>>>>>> serializable? >>>>>>>>>> >>>>>>>>>> On Mon, Jul 25, 2016 at 6:01 PM, Remko Popma < >>>>>>>>>> remko.po...@gmail.com> wrote: >>>>>>>>>> >>>>>>>>>>> I think the theory is it is preferable to let implementors of an >>>>>>>>>>> interface implement java.io.Serializable instead of letting the >>>>>>>>>>> interface >>>>>>>>>>> extend java.io.Serializable. That gives future implementors the >>>>>>>>>>> freedom to >>>>>>>>>>> choose to either implement Serializable or not. >>>>>>>>>>> >>>>>>>>>>> On Tue, Jul 26, 2016 at 12:49 AM, Mikael Ståldal < >>>>>>>>>>> mikael.stal...@magine.com> wrote: >>>>>>>>>>> >>>>>>>>>>>> It seems like serializable logger is useful in Apache Spark, >>>>>>>>>>>> which is popular to use from Scala. >>>>>>>>>>>> >>>>>>>>>>>> On Mon, Jul 25, 2016 at 4:20 PM, Matt Sicker <boa...@gmail.com> >>>>>>>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Do Scala programmers use Serializable a lot, or is there a >>>>>>>>>>>>> better mechanism there? Because if there's a more Scala way of >>>>>>>>>>>>> doing it, >>>>>>>>>>>>> that would make more sense. Otherwise, you can always add >>>>>>>>>>>>> Serializable >>>>>>>>>>>>> later, but you shouldn't remove it once it's part of the public >>>>>>>>>>>>> API. >>>>>>>>>>>>> >>>>>>>>>>>>> On 25 July 2016 at 03:06, Mikael Ståldal < >>>>>>>>>>>>> mikael.stal...@magine.com> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> I am asking this since I'm considering making the Scala >>>>>>>>>>>>>> Logger wrapper Serializable. Would that be a good idea? >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Mon, Jul 25, 2016 at 10:00 AM, Mikael Ståldal < >>>>>>>>>>>>>> mikael.stal...@magine.com> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> Users can rely on the fact that loggers are always >>>>>>>>>>>>>>> Serializable. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> I guess we could also document that fact if we don't want to >>>>>>>>>>>>>>> mark the interface Serializable. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Fri, Jul 22, 2016 at 7:16 PM, Ralph Goers < >>>>>>>>>>>>>>> ralph.go...@dslextreme.com> wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> What advantage is gained by declaring the interface >>>>>>>>>>>>>>>> Serializable? >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Ralph >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On Jul 22, 2016, at 9:38 AM, Mikael Ståldal < >>>>>>>>>>>>>>>> mikael.stal...@magine.com> wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> I don't think we should limit ourselves to what we add to >>>>>>>>>>>>>>>> the API just for the sake of alternative implementations. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On Fri, Jul 22, 2016 at 6:09 PM, Gary Gregory < >>>>>>>>>>>>>>>> garydgreg...@gmail.com> wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> I do not think you want to _force_ all implementation to >>>>>>>>>>>>>>>>> be serializable. Serialization is not a main feature of >>>>>>>>>>>>>>>>> loggers, logging is. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Gary >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On Fri, Jul 22, 2016 at 12:45 AM, Mikael Ståldal < >>>>>>>>>>>>>>>>> mikael.stal...@magine.com> wrote: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> But if this is a feature that is useful for some users, >>>>>>>>>>>>>>>>>> why not fully advertise it by making the Logger interface >>>>>>>>>>>>>>>>>> Serializable? >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> On Thu, Jul 21, 2016 at 7:53 PM, Matt Sicker < >>>>>>>>>>>>>>>>>> boa...@gmail.com> wrote: >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> It's Serializable because there was a feature request >>>>>>>>>>>>>>>>>>> for it. The jira ticket is internal (reported by Gary), but >>>>>>>>>>>>>>>>>>> I recall either >>>>>>>>>>>>>>>>>>> another bug or a mailing list post where the justification >>>>>>>>>>>>>>>>>>> was so that >>>>>>>>>>>>>>>>>>> serializable classes can still use a Logger instance field >>>>>>>>>>>>>>>>>>> (not everyone >>>>>>>>>>>>>>>>>>> uses a static field for the Logger for some reason). >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> On 21 July 2016 at 11:32, Ralph Goers < >>>>>>>>>>>>>>>>>>> ralph.go...@dslextreme.com> wrote: >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> I asked myself the same question and I guess the answer >>>>>>>>>>>>>>>>>>>> is that Logger is included in lots of classes, many of >>>>>>>>>>>>>>>>>>>> which are >>>>>>>>>>>>>>>>>>>> Serializable. It would be easier for us to make >>>>>>>>>>>>>>>>>>>> AbstractLogger Serializable >>>>>>>>>>>>>>>>>>>> then for all the users to mark it as transient and have to >>>>>>>>>>>>>>>>>>>> manually >>>>>>>>>>>>>>>>>>>> instantiate the Logger during de-Serialization. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Ralph >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> On Jul 21, 2016, at 9:29 AM, Mikael Ståldal < >>>>>>>>>>>>>>>>>>>> mikael.stal...@magine.com> wrote: >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> So then why is AbstractLogger, and our implementation >>>>>>>>>>>>>>>>>>>> in log4j-core, Serializable? >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> On Thu, Jul 21, 2016 at 6:18 PM, Gary Gregory < >>>>>>>>>>>>>>>>>>>> garydgreg...@gmail.com> wrote: >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> I do not think there is a way to know what folks are >>>>>>>>>>>>>>>>>>>>> doing out there... >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> Gary >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> On Thu, Jul 21, 2016 at 9:13 AM, Mikael Ståldal < >>>>>>>>>>>>>>>>>>>>> mikael.stal...@magine.com> wrote: >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> Are there any providers not using AbstractLogger? >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> On Thu, Jul 21, 2016 at 6:09 PM, Gary Gregory < >>>>>>>>>>>>>>>>>>>>>> garydgreg...@gmail.com> wrote: >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> Probably to leave the decision on whether to support >>>>>>>>>>>>>>>>>>>>>>> serialization to each provider. >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> Gary >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> On Jul 21, 2016 3:14 AM, "Mikael Ståldal" < >>>>>>>>>>>>>>>>>>>>>>> mikael.stal...@magine.com> wrote: >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> AbstractLogger is Serializable, but the Logger >>>>>>>>>>>>>>>>>>>>>>>> interface is not. Why is it so? >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>>>>> [image: MagineTV] >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> *Mikael Ståldal* >>>>>>>>>>>>>>>>>>>>>>>> Senior software developer >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> *Magine TV* >>>>>>>>>>>>>>>>>>>>>>>> mikael.stal...@magine.com >>>>>>>>>>>>>>>>>>>>>>>> Grev Turegatan 3 | 114 46 Stockholm, Sweden | >>>>>>>>>>>>>>>>>>>>>>>> www.magine.com >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> Privileged and/or Confidential Information may be >>>>>>>>>>>>>>>>>>>>>>>> contained in this message. If you are not the >>>>>>>>>>>>>>>>>>>>>>>> addressee indicated in this >>>>>>>>>>>>>>>>>>>>>>>> message >>>>>>>>>>>>>>>>>>>>>>>> (or responsible for delivery of the message to such >>>>>>>>>>>>>>>>>>>>>>>> a person), you may not copy or deliver this message to >>>>>>>>>>>>>>>>>>>>>>>> anyone. In such >>>>>>>>>>>>>>>>>>>>>>>> case, >>>>>>>>>>>>>>>>>>>>>>>> you should destroy this message and kindly notify >>>>>>>>>>>>>>>>>>>>>>>> the sender by reply email. >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>>> [image: MagineTV] >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> *Mikael Ståldal* >>>>>>>>>>>>>>>>>>>>>> Senior software developer >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> *Magine TV* >>>>>>>>>>>>>>>>>>>>>> mikael.stal...@magine.com >>>>>>>>>>>>>>>>>>>>>> Grev Turegatan 3 | 114 46 Stockholm, Sweden | >>>>>>>>>>>>>>>>>>>>>> www.magine.com >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> Privileged and/or Confidential Information may be >>>>>>>>>>>>>>>>>>>>>> contained in this message. If you are not the addressee >>>>>>>>>>>>>>>>>>>>>> indicated in this >>>>>>>>>>>>>>>>>>>>>> message >>>>>>>>>>>>>>>>>>>>>> (or responsible for delivery of the message to such a >>>>>>>>>>>>>>>>>>>>>> person), you may not copy or deliver this message to >>>>>>>>>>>>>>>>>>>>>> anyone. In such case, >>>>>>>>>>>>>>>>>>>>>> you should destroy this message and kindly notify the >>>>>>>>>>>>>>>>>>>>>> sender by reply email. >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>> E-Mail: garydgreg...@gmail.com | ggreg...@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 >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>> [image: MagineTV] >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> *Mikael Ståldal* >>>>>>>>>>>>>>>>>>>> Senior software developer >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> *Magine TV* >>>>>>>>>>>>>>>>>>>> mikael.stal...@magine.com >>>>>>>>>>>>>>>>>>>> Grev Turegatan 3 | 114 46 Stockholm, Sweden | >>>>>>>>>>>>>>>>>>>> www.magine.com >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Privileged and/or Confidential Information may be >>>>>>>>>>>>>>>>>>>> contained in this message. If you are not the addressee >>>>>>>>>>>>>>>>>>>> indicated in this >>>>>>>>>>>>>>>>>>>> message >>>>>>>>>>>>>>>>>>>> (or responsible for delivery of the message to such a >>>>>>>>>>>>>>>>>>>> person), you may not copy or deliver this message to >>>>>>>>>>>>>>>>>>>> anyone. In such case, >>>>>>>>>>>>>>>>>>>> you should destroy this message and kindly notify the >>>>>>>>>>>>>>>>>>>> sender by reply email. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>> Matt Sicker <boa...@gmail.com> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>> [image: MagineTV] >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> *Mikael Ståldal* >>>>>>>>>>>>>>>>>> Senior software developer >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> *Magine TV* >>>>>>>>>>>>>>>>>> mikael.stal...@magine.com >>>>>>>>>>>>>>>>>> Grev Turegatan 3 | 114 46 Stockholm, Sweden | >>>>>>>>>>>>>>>>>> www.magine.com >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Privileged and/or Confidential Information may be >>>>>>>>>>>>>>>>>> contained in this message. If you are not the addressee >>>>>>>>>>>>>>>>>> indicated in this >>>>>>>>>>>>>>>>>> message >>>>>>>>>>>>>>>>>> (or responsible for delivery of the message to such a >>>>>>>>>>>>>>>>>> person), you may not copy or deliver this message to anyone. >>>>>>>>>>>>>>>>>> In such case, >>>>>>>>>>>>>>>>>> you should destroy this message and kindly notify the >>>>>>>>>>>>>>>>>> sender by reply email. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>> E-Mail: garydgreg...@gmail.com | ggreg...@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 >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>> [image: MagineTV] >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> *Mikael Ståldal* >>>>>>>>>>>>>>>> Senior software developer >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> *Magine TV* >>>>>>>>>>>>>>>> mikael.stal...@magine.com >>>>>>>>>>>>>>>> Grev Turegatan 3 | 114 46 Stockholm, Sweden | >>>>>>>>>>>>>>>> www.magine.com >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Privileged and/or Confidential Information may be contained >>>>>>>>>>>>>>>> in this message. If you are not the addressee indicated in >>>>>>>>>>>>>>>> this message >>>>>>>>>>>>>>>> (or responsible for delivery of the message to such a >>>>>>>>>>>>>>>> person), you may not copy or deliver this message to anyone. >>>>>>>>>>>>>>>> In such case, >>>>>>>>>>>>>>>> you should destroy this message and kindly notify the >>>>>>>>>>>>>>>> sender by reply email. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>> [image: MagineTV] >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> *Mikael Ståldal* >>>>>>>>>>>>>>> Senior software developer >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> *Magine TV* >>>>>>>>>>>>>>> mikael.stal...@magine.com >>>>>>>>>>>>>>> Grev Turegatan 3 | 114 46 Stockholm, Sweden | >>>>>>>>>>>>>>> www.magine.com >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Privileged and/or Confidential Information may be contained >>>>>>>>>>>>>>> in this message. If you are not the addressee indicated in this >>>>>>>>>>>>>>> message >>>>>>>>>>>>>>> (or responsible for delivery of the message to such a >>>>>>>>>>>>>>> person), you may not copy or deliver this message to anyone. In >>>>>>>>>>>>>>> such case, >>>>>>>>>>>>>>> you should destroy this message and kindly notify the sender >>>>>>>>>>>>>>> by reply email. >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> -- >>>>>>>>>>>>>> [image: MagineTV] >>>>>>>>>>>>>> >>>>>>>>>>>>>> *Mikael Ståldal* >>>>>>>>>>>>>> Senior software developer >>>>>>>>>>>>>> >>>>>>>>>>>>>> *Magine TV* >>>>>>>>>>>>>> mikael.stal...@magine.com >>>>>>>>>>>>>> Grev Turegatan 3 | 114 46 Stockholm, Sweden | >>>>>>>>>>>>>> www.magine.com >>>>>>>>>>>>>> >>>>>>>>>>>>>> Privileged and/or Confidential Information may be contained >>>>>>>>>>>>>> in this message. If you are not the addressee indicated in this >>>>>>>>>>>>>> message >>>>>>>>>>>>>> (or responsible for delivery of the message to such a >>>>>>>>>>>>>> person), you may not copy or deliver this message to anyone. In >>>>>>>>>>>>>> such case, >>>>>>>>>>>>>> you should destroy this message and kindly notify the sender >>>>>>>>>>>>>> by reply email. >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> Matt Sicker <boa...@gmail.com> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> [image: MagineTV] >>>>>>>>>>>> >>>>>>>>>>>> *Mikael Ståldal* >>>>>>>>>>>> Senior software developer >>>>>>>>>>>> >>>>>>>>>>>> *Magine TV* >>>>>>>>>>>> mikael.stal...@magine.com >>>>>>>>>>>> Grev Turegatan 3 | 114 46 Stockholm, Sweden | >>>>>>>>>>>> www.magine.com >>>>>>>>>>>> >>>>>>>>>>>> Privileged and/or Confidential Information may be contained in >>>>>>>>>>>> this message. If you are not the addressee indicated in this >>>>>>>>>>>> message >>>>>>>>>>>> (or responsible for delivery of the message to such a person), >>>>>>>>>>>> you may not copy or deliver this message to anyone. In such case, >>>>>>>>>>>> you should destroy this message and kindly notify the sender by >>>>>>>>>>>> reply email. >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> [image: MagineTV] >>>>>>>>>> >>>>>>>>>> *Mikael Ståldal* >>>>>>>>>> Senior software developer >>>>>>>>>> >>>>>>>>>> *Magine TV* >>>>>>>>>> mikael.stal...@magine.com >>>>>>>>>> Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com >>>>>>>>>> >>>>>>>>>> Privileged and/or Confidential Information may be contained in >>>>>>>>>> this message. If you are not the addressee indicated in this message >>>>>>>>>> (or responsible for delivery of the message to such a person), >>>>>>>>>> you may not copy or deliver this message to anyone. In such case, >>>>>>>>>> you should destroy this message and kindly notify the sender by >>>>>>>>>> reply email. >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> E-Mail: garydgreg...@gmail.com | ggreg...@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 >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> [image: MagineTV] >>>>>>>> >>>>>>>> *Mikael Ståldal* >>>>>>>> Senior software developer >>>>>>>> >>>>>>>> *Magine TV* >>>>>>>> mikael.stal...@magine.com >>>>>>>> Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com >>>>>>>> >>>>>>>> Privileged and/or Confidential Information may be contained in this >>>>>>>> message. If you are not the addressee indicated in this message >>>>>>>> (or responsible for delivery of the message to such a person), you >>>>>>>> may not copy or deliver this message to anyone. In such case, >>>>>>>> you should destroy this message and kindly notify the sender by >>>>>>>> reply email. >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> [image: MagineTV] >>>>>>> >>>>>>> *Mikael Ståldal* >>>>>>> Senior software developer >>>>>>> >>>>>>> *Magine TV* >>>>>>> mikael.stal...@magine.com >>>>>>> Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com >>>>>>> >>>>>>> Privileged and/or Confidential Information may be contained in this >>>>>>> message. If you are not the addressee indicated in this message >>>>>>> (or responsible for delivery of the message to such a person), you >>>>>>> may not copy or deliver this message to anyone. In such case, >>>>>>> you should destroy this message and kindly notify the sender by >>>>>>> reply email. >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> [image: MagineTV] >>>>>> >>>>>> *Mikael Ståldal* >>>>>> Senior software developer >>>>>> >>>>>> *Magine TV* >>>>>> mikael.stal...@magine.com >>>>>> Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com >>>>>> >>>>>> Privileged and/or Confidential Information may be contained in this >>>>>> message. If you are not the addressee indicated in this message >>>>>> (or responsible for delivery of the message to such a person), you >>>>>> may not copy or deliver this message to anyone. In such case, >>>>>> you should destroy this message and kindly notify the sender by reply >>>>>> email. >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> [image: MagineTV] >>>>> >>>>> *Mikael Ståldal* >>>>> Senior software developer >>>>> >>>>> *Magine TV* >>>>> mikael.stal...@magine.com >>>>> Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com >>>>> >>>>> Privileged and/or Confidential Information may be contained in this >>>>> message. If you are not the addressee indicated in this message >>>>> (or responsible for delivery of the message to such a person), you may >>>>> not copy or deliver this message to anyone. In such case, >>>>> you should destroy this message and kindly notify the sender by reply >>>>> email. >>>>> >>>>> >>>> >>>> >>>> -- >>>> [image: MagineTV] >>>> >>>> *Mikael Ståldal* >>>> Senior software developer >>>> >>>> *Magine TV* >>>> mikael.stal...@magine.com >>>> Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com >>>> >>>> Privileged and/or Confidential Information may be contained in this >>>> message. If you are not the addressee indicated in this message >>>> (or responsible for delivery of the message to such a person), you may >>>> not copy or deliver this message to anyone. In such case, >>>> you should destroy this message and kindly notify the sender by reply >>>> email. >>>> >>> >>> >>> >>> -- >>> [image: MagineTV] >>> >>> *Mikael Ståldal* >>> Senior software developer >>> >>> *Magine TV* >>> mikael.stal...@magine.com >>> Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com >>> >>> Privileged and/or Confidential Information may be contained in this >>> message. If you are not the addressee indicated in this message >>> (or responsible for delivery of the message to such a person), you may >>> not copy or deliver this message to anyone. In such case, >>> you should destroy this message and kindly notify the sender by reply >>> email. >>> >> >> > > > -- > [image: MagineTV] > > *Mikael Ståldal* > Senior software developer > > *Magine TV* > mikael.stal...@magine.com > Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com > > Privileged and/or Confidential Information may be contained in this > message. If you are not the addressee indicated in this message > (or responsible for delivery of the message to such a person), you may not > copy or deliver this message to anyone. In such case, > you should destroy this message and kindly notify the sender by reply > email. >