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.