logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mikael Ståldal <mikael.stal...@magine.com>
Subject Re: Serializable Logger
Date Tue, 26 Jul 2016 13:33:52 GMT
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