It's a bit of a mess.

The umbrella extends to inner classes and base classes, even if the
base classes themselves are from a library.

I have proposed extending it further, to identify classes in which
non-public (protected or package private) members are accessed. This
too is do-able, but, yes, it can change the semantics of static
variables.

... which is why we use an IoC container, right?

Let's continue to see if what I've put together is good enough. The
perfect is the enemy of the good.

On Fri, Sep 3, 2010 at 10:26 AM, Igor Drobiazko
<igor.drobia...@gmail.com> wrote:
> Life class reloading doesn't affect classes packed into jars. Thus no
> problems with libraries.
>
> On Fri, Sep 3, 2010 at 5:49 PM, Oliver Geisser 
> <oliver.geis...@gmail.com>wrote:
>
>> Hi,
>>
>> maybe I misunderstand something but I do not believe that this is
>> "harmless".
>>
>> This will corrupt all singleton pattern implementations which are based on
>> a
>> static
>> getInstance() method and a static field.
>>
>> Or wouldn't it?
>>
>> You may argue that the singleton pattern is "evil" but nevertheless there
>> are a lot
>> of libraries out there implementing it.
>>
>>
>> Greetings
>> Olli
>>
>>
>> 2010/9/3 Howard Lewis Ship <hls...@gmail.com>
>>
>> > On Thu, Sep 2, 2010 at 3:10 PM, Igor Drobiazko <igor.drobia...@gmail.com
>> >
>> > wrote:
>> > > How that? You would need to load that class together with the service
>> > from
>> > > same classloader. What if a ServiceMessages is accessed by several
>> > services?
>> >
>> > Each service will end up with its own copy of the class (including its
>> > static variables). That may not be desirable, or it may be an unwanted
>> > leaky abstraction, but harmless.
>> >
>> > >
>> > >
>> > > On Fri, Sep 3, 2010 at 12:01 AM, Howard Lewis Ship <hls...@gmail.com>
>> > wrote:
>> > >
>> > >> I can actually fix that, by bringing ServiceMessages "under the
>> > umbrella".
>> > >>
>> > >> On Thu, Sep 2, 2010 at 2:55 PM, Igor Drobiazko <
>> > igor.drobia...@gmail.com>
>> > >> wrote:
>> > >> > If you have a class like the following one inside the services
>> package
>> > >> and
>> > >> > access the foo() method inside a service, you'll experience
>> > >> > IllegalAccessException. You can fix the problem by changing the
>> > >> visibility
>> > >> > of the foo() method to public.
>> > >> >
>> > >> > public class ServiceMessages {
>> > >> >    static String foo(){
>> > >> >       return "foo";
>> > >> >    }
>> > >> > }
>> > >> >
>> > >> > On Thu, Sep 2, 2010 at 11:24 PM, Howard Lewis Ship <
>> hls...@gmail.com>
>> > >> wrote:
>> > >> >
>> > >> >> Tell me more about static utility methods ... it may be possible to
>> > >> >> make those work as well.
>> > >> >>
>> > >> >> On Thu, Sep 2, 2010 at 12:30 PM, Igor Drobiazko
>> > >> >> <igor.drobia...@gmail.com> wrote:
>> > >> >> > I tested my apps today with the recent snapshots. It looks good.
>> No
>> > >> >> problems
>> > >> >> > with protected or package private methods in super classes. There
>> > are
>> > >> >> still
>> > >> >> > some problems with static utility methods but it is ok. I think
>> we
>> > are
>> > >> >> ready
>> > >> >> > for a beta release now.
>> > >> >> >
>> > >> >> > On Wed, Sep 1, 2010 at 11:00 PM, Igor Drobiazko <
>> > >> >> igor.drobia...@gmail.com>wrote:
>> > >> >> >
>> > >> >> >> That's great. I'll try it out and report the results.
>> > >> >> >>
>> > >> >> >>
>> > >> >> >> On Wed, Sep 1, 2010 at 7:00 PM, Howard Lewis Ship <
>> > hls...@gmail.com
>> > >> >> >wrote:
>> > >> >> >>
>> > >> >> >>> Yesterday I checked in a revised version of the live service
>> > >> reloading
>> > >> >> >>> code.
>> > >> >> >>>
>> > >> >> >>> The new code is a bit smarter about extending the class-loader
>> > >> >> >>> umbrella to inner classes and base classes. This should make
>> > >> protected
>> > >> >> >>> method invocations work correctly (in most cases).
>> > >> >> >>>
>> > >> >> >>> There may be room for additional analysis.
>> > >> >> >>>
>> > >> >> >>> I'd appreciate it if people could try out the snapshot and see
>> > how
>> > >> >> >>> well it flies.  I really don't want to make live service
>> > reloading
>> > >> >> >>> default to off.
>> > >> >> >>>
>> > >> >> >>> --
>> > >> >> >>> Howard M. Lewis Ship
>> > >> >> >>>
>> > >> >> >>> Creator of Apache Tapestry
>> > >> >> >>>
>> > >> >> >>> The source for Tapestry training, mentoring and support.
>> Contact
>> > me
>> > >> to
>> > >> >> >>> learn how I can get you up and productive in Tapestry fast!
>> > >> >> >>>
>> > >> >> >>> (971) 678-5210
>> > >> >> >>> http://howardlewisship.com
>> > >> >> >>>
>> > >> >> >>>
>> > >> ---------------------------------------------------------------------
>> > >> >> >>> To unsubscribe, e-mail: dev-unsubscr...@tapestry.apache.org
>> > >> >> >>> For additional commands, e-mail: dev-h...@tapestry.apache.org
>> > >> >> >>>
>> > >> >> >>>
>> > >> >> >>
>> > >> >> >>
>> > >> >> >> --
>> > >> >> >> Best regards,
>> > >> >> >>
>> > >> >> >> Igor Drobiazko
>> > >> >> >> http://tapestry5.de
>> > >> >> >>
>> > >> >> >
>> > >> >> >
>> > >> >> >
>> > >> >> > --
>> > >> >> > Best regards,
>> > >> >> >
>> > >> >> > Igor Drobiazko
>> > >> >> > http://tapestry5.de
>> > >> >> >
>> > >> >>
>> > >> >>
>> > >> >>
>> > >> >> --
>> > >> >> Howard M. Lewis Ship
>> > >> >>
>> > >> >> Creator of Apache Tapestry
>> > >> >>
>> > >> >> The source for Tapestry training, mentoring and support. Contact me
>> > to
>> > >> >> learn how I can get you up and productive in Tapestry fast!
>> > >> >>
>> > >> >> (971) 678-5210
>> > >> >> http://howardlewisship.com
>> > >> >>
>> > >> >>
>> ---------------------------------------------------------------------
>> > >> >> To unsubscribe, e-mail: dev-unsubscr...@tapestry.apache.org
>> > >> >> For additional commands, e-mail: dev-h...@tapestry.apache.org
>> > >> >>
>> > >> >>
>> > >> >
>> > >> >
>> > >> > --
>> > >> > Best regards,
>> > >> >
>> > >> > Igor Drobiazko
>> > >> > http://tapestry5.de
>> > >> >
>> > >>
>> > >>
>> > >>
>> > >> --
>> > >> Howard M. Lewis Ship
>> > >>
>> > >> Creator of Apache Tapestry
>> > >>
>> > >> The source for Tapestry training, mentoring and support. Contact me to
>> > >> learn how I can get you up and productive in Tapestry fast!
>> > >>
>> > >> (971) 678-5210
>> > >> http://howardlewisship.com
>> > >>
>> > >> ---------------------------------------------------------------------
>> > >> To unsubscribe, e-mail: dev-unsubscr...@tapestry.apache.org
>> > >> For additional commands, e-mail: dev-h...@tapestry.apache.org
>> > >>
>> > >>
>> > >
>> > >
>> > > --
>> > > Best regards,
>> > >
>> > > Igor Drobiazko
>> > > http://tapestry5.de
>> > >
>> >
>> >
>> >
>> > --
>> > Howard M. Lewis Ship
>> >
>> > Creator of Apache Tapestry
>> >
>> > The source for Tapestry training, mentoring and support. Contact me to
>> > learn how I can get you up and productive in Tapestry fast!
>> >
>> > (971) 678-5210
>> > http://howardlewisship.com
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: dev-unsubscr...@tapestry.apache.org
>> > For additional commands, e-mail: dev-h...@tapestry.apache.org
>> >
>> >
>>
>>
>> --
>> og
>>
>
>
>
> --
> Best regards,
>
> Igor Drobiazko
> http://tapestry5.de
>



-- 
Howard M. Lewis Ship

Creator of Apache Tapestry

The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!

(971) 678-5210
http://howardlewisship.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tapestry.apache.org
For additional commands, e-mail: dev-h...@tapestry.apache.org

Reply via email to