Selectively replacing server classes

View: New views
6 Messages — Rating Filter:   Alert me  

Selectively replacing server classes

by glassfish-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Weblogic has this concept of "service pack" whereby certain application server classes can be replaced (bug fixes, enhancements, etc.) by dropping a jar containing new class versions in a predefined location. Is there anything like that in Glassfish? My extensive search didn't produce any results and it looks like the only way to introduce a simple bug fix is to replace the whole jar containing the original (faulty) class. Am I missing something?
[Message sent by forum member 'vladchuk' (vladchuk)]

http://forums.java.net/jive/thread.jspa?messageID=242563

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@...
For additional commands, e-mail: users-help@...


Re: Selectively replacing server classes

by alexismp :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks for sending the question.
I'm not all that familiar with WebLogic.
How is different from using the classpath prefix?

thanks,
-Alexis

glassfish@... wrote:
> Weblogic has this concept of "service pack" whereby certain application server classes can be replaced (bug fixes, enhancements, etc.) by dropping a jar containing new class versions in a predefined location. Is there anything like that in Glassfish? My extensive search didn't produce any results and it looks like the only way to introduce a simple bug fix is to replace the whole jar containing the original (faulty) class. Am I missing something?
> [Message sent by forum member 'vladchuk' (vladchuk)]
>
> http://forums.java.net/jive/thread.jspa?messageID=242563
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@...
For additional commands, e-mail: users-help@...


Re: Selectively replacing server classes

by glassfish-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

It may well simply be that. The detail is that with Weblogic, their scripts et al support the process. Drop in the service pack, and Weblogic "does the right thing".

If you place a Jar on the class path prefix, does that completely override a system jar? or only where the classes overlap? (This part of the jar class loaders has always been bit fuzzy to me.)
[Message sent by forum member 'whartung' (whartung)]

http://forums.java.net/jive/thread.jspa?messageID=242568

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@...
For additional commands, e-mail: users-help@...


Re: Selectively replacing server classes

by glassfish-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

domain.xml classpath-prefix attribute is defined in glassfish\lib\dtds\sun-domain_1_3.dtd

classpath-prefix
    A java classpath string that is prefixed to server-classpath
classpath-suffix
    A java classpath string that is appended to server-classpath
... ...

I like the idea of having a special service-pack directory.  It will benefit both product use and development time as well.  What I'm currently doing, when I get a patch jar to test, is to do the following steps:

make a temp dir
unjar the patch jar
find the appserver jar that contains the patched classes (usually appserv-rt.jar)
back the original jar to <jar-name>.orig
jar uvf $GLASSFISH_HOME/lib/appserv-rt.jar /tmp/patch/com/sun

See these are very manual steps.  I don't want to edit my domain.xml to add a classpath-prefix to point to a jar or directory.

One limitation of classpath-prefix is that you have to include a specific jar name, or a specific directory that contains class files, which are different for every patch.  Not sure if the wildcard (*) in classpath-prefix is supported or not in glassfish when running with JDK 6.

-cheng
[Message sent by forum member 'cf126330' (cf126330)]

http://forums.java.net/jive/thread.jspa?messageID=242591

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@...
For additional commands, e-mail: users-help@...


Re: Selectively replacing server classes

by glassfish-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

It probably isn't very different (other that the "service pack" directory is predefined) except that it didn't work in my case. I wanted to fix a trivial bug in the webservices stack by replacing a single class in the webservices-rt.jar so I created my own jar with that only class and used the prefix to specified its path but, alas, that didn't do the trick. So, I ended up replacing that class in the original jar.
[Message sent by forum member 'vladchuk' (vladchuk)]

http://forums.java.net/jive/thread.jspa?messageID=242601

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@...
For additional commands, e-mail: users-help@...


Re: Selectively replacing server classes

by Sivakumar Thyagarajan :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> One limitation of classpath-prefix is that you have to include a specific jar
> name, or a specific directory that contains class files, which are different
> for every patch.  Not sure if the wildcard (*) in classpath-prefix is
> supported or not in glassfish when running with JDK 6.

Yes v1/v2 does not allow wildcards to be placed in classpath-prefix and since
this is not VM classpath, wild-cards would not work with JDK6. Kedar/Byron,
could this be an RFE to be handled by the launcher?

Thanks
--Siva.

glassfish@... wrote:

> domain.xml classpath-prefix attribute is defined in glassfish\lib\dtds\sun-domain_1_3.dtd
>
> classpath-prefix
>     A java classpath string that is prefixed to server-classpath
> classpath-suffix
>     A java classpath string that is appended to server-classpath
> ... ...
>
> I like the idea of having a special service-pack directory.  It will benefit both product use and development time as well.  What I'm currently doing, when I get a patch jar to test, is to do the following steps:
>
> make a temp dir
> unjar the patch jar
> find the appserver jar that contains the patched classes (usually appserv-rt.jar)
> back the original jar to <jar-name>.orig
> jar uvf $GLASSFISH_HOME/lib/appserv-rt.jar /tmp/patch/com/sun
>
> See these are very manual steps.  I don't want to edit my domain.xml to add a classpath-prefix to point to a jar or directory.
>
> One limitation of classpath-prefix is that you have to include a specific jar name, or a specific directory that contains class files, which are different for every patch.  Not sure if the wildcard (*) in classpath-prefix is supported or not in glassfish when running with JDK 6.
>
> -cheng
> [Message sent by forum member 'cf126330' (cf126330)]
>
> http://forums.java.net/jive/thread.jspa?messageID=242591
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@...
> For additional commands, e-mail: users-help@...
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@...
For additional commands, e-mail: users-help@...