logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Remko Popma <remko.po...@gmail.com>
Subject Re: Serializable Logger
Date Tue, 26 Jul 2016 14:46:12 GMT
Ah, thank you.

On Tue, Jul 26, 2016 at 10:33 PM, Mikael Ståldal <mikael.staldal@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.popma@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.staldal@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.staldal@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.popma@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.staldal@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.staldal@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.popma@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.staldal@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.popma@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>>
>>>>>>>> On 2016/07/26, at 1:43, Mikael Ståldal <mikael.staldal@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 <
>>>>>>>> garydgregory@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.staldal@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.popma@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.staldal@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
<boards@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.staldal@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.staldal@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.goers@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.staldal@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 <
>>>>>>>>>>>>>>>> garydgregory@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.staldal@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 <
>>>>>>>>>>>>>>>>>> boards@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.goers@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.staldal@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 <
>>>>>>>>>>>>>>>>>>>> garydgregory@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.staldal@magine.com>
wrote:
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Are
there any providers not using AbstractLogger?
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> On
Thu, Jul 21, 2016 at 6:09 PM, Gary Gregory <
>>>>>>>>>>>>>>>>>>>>>> garydgregory@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.staldal@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.staldal@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.staldal@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:
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
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>>> [image: MagineTV]
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> *Mikael Ståldal*
>>>>>>>>>>>>>>>>>>>> Senior software
developer
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> *Magine TV*
>>>>>>>>>>>>>>>>>>>> mikael.staldal@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 <boards@gmail.com>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>> [image: MagineTV]
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> *Mikael Ståldal*
>>>>>>>>>>>>>>>>>> Senior software developer
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> *Magine TV*
>>>>>>>>>>>>>>>>>> mikael.staldal@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: 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
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>> [image: MagineTV]
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> *Mikael Ståldal*
>>>>>>>>>>>>>>>> Senior software developer
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> *Magine TV*
>>>>>>>>>>>>>>>> mikael.staldal@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.staldal@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.staldal@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 <boards@gmail.com>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> [image: MagineTV]
>>>>>>>>>>>>
>>>>>>>>>>>> *Mikael Ståldal*
>>>>>>>>>>>> Senior software developer
>>>>>>>>>>>>
>>>>>>>>>>>> *Magine TV*
>>>>>>>>>>>> mikael.staldal@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.staldal@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: 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
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> [image: MagineTV]
>>>>>>>>
>>>>>>>> *Mikael Ståldal*
>>>>>>>> Senior software developer
>>>>>>>>
>>>>>>>> *Magine TV*
>>>>>>>> mikael.staldal@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.staldal@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.staldal@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.staldal@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.staldal@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.staldal@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.staldal@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.
>

Mime
View raw message