spring-projects / spring-loaded

Java agent that enables class reloading in a running JVM
Apache License 2.0
2.72k stars 514 forks source link

Enable spring loaded in Weblogic server #60

Open ajjadrapc opened 10 years ago

ajjadrapc commented 10 years ago

Hi, Can you please let me know how we can enable spring loaded in weblogic server. I have tried specifying the javaagent option to the JAVA_OPTIONS in setDomainEnv.cmd but it wasn't working. spring_loaded_error

zyro23 commented 10 years ago

add -Djava.security.auth.login.config=/path/to/an/empty/file.conf - the file has to exist but it can be empty.

ajjadrapc commented 10 years ago

Hi, Thanks for the response and it worked But I see that the agent is not picking any change. My project is a multi module project and these are the java options that I'm passing when starting my weblogic server. I tried changing in the dependant module of the project but it isn't working. Please let me know if I' missing something

C:\Oracle\MIDDLE~1\JROCKI~1.2-4\bin\java -jrockit -Xdebug -Xrunjdwp:transport=dt_socket,address=8453,server=y,suspend=n -Djava.compiler=NONE -Xms512m -Xmx512m -Dweblogic.Name=AdminServer -Djava.security.policy=C:\Oracle\MIDDLE~1\WLSERV~1.3\server\lib\weblogic.policy -Duser.timezone=EST -DENV=local_env -Xverify:none -javaagent:C:\Oracle\MIDDLE~1\WLSERV~1.3\server\lib\springloaded-1.2.0.RELEASE.jar -noverify -Djava.security.auth.login.config=C:\Oracle\MIDDLE~1\WLSERV~1.3\server\file.conf.txt -Djavax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl -ea -da:com.bea... -da:javelin... -da:weblogic... -ea:com.bea.wli... -ea:com.bea.broker... -ea:com.bea.sbconsole... -Dplatform.home=C:\Oracle\MIDDLE~1\WLSERV~1.3 -Dwls.home=C:\Oracle\MIDDLE~1\WLSERV~1.3\server -Dweblogic.home=C:\Oracle\MIDDLE~1\WLSERV~1.3\server -Dweblogic.management.discover=true -Dwlw.iterativeDev= -Dwlw.testConsole= -Dwlw.logErrorsToConsole= -Dweblogic.ext.dirs=C:\Oracle\MIDDLE~1\patch_wls1035\profiles\default\sysext_manifest_classpath;C:\Oracle\MIDDLE~1\patch_oepe1050\profiles\default\sysext_manifest_classpath;C:\Oracle\MIDDLE~1\patch_ocp360\profiles\default\sysext_manifest_classpath weblogic.Server

zyro23 commented 10 years ago

i do not know if springloaded works with jrockit vm. you could try with sun vm (and if its just to see if the vm is the problem)... also, make sure that weblogics in-built reloading mechanisms (fast-swap and the other one that swaps out whole classloader trees) are disabled.

ajjadrapc commented 10 years ago

Thanks for the response. I will check and let you know. I have disabled fast swap, but, I would check with sun VM and see

ajjadrapc commented 10 years ago

Hi, I have checked with SUN VM and still see that its not working. I do not see any error message either. Also, I check that CLASS_CACHE is not enabled as well along with fastswap. Can you please help me?

Below are the options that are supplied for the weblogic server start: C:\Oracle\MIDDLE~1\JDK160~1\bin\java -client -Xdebug -Xrunjdwp:transport=dt_socket,address=8453,server=y,suspend=n -Djava.compiler=NONE -Xms256m -Xmx512m -XX:CompileThreshold=8000 -XX:PermSize=48m -XX:MaxPermSize=512m -Dweblogic.Name=AdminServer -Djava.security.policy=C:\Oracle\MIDDLE~1\WLSERV~1.3\server\lib\weblogic.policy -Duser.timezone=EST -DENV=local_env -Xverify:none -javaagent:C:\Oracle\MIDDLE~1\WLSERV~1.3\server\lib\springloaded-1.2.0.RELEASE.jar -noverify -Djava.security.auth.login.config=C:\Oracle\MIDDLE~1\WLSERV~1.3\server\file.conf.txt -Djavax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl -ea -da:com.bea... -da:javelin... -da:weblogic... -ea:com.bea.wli... -ea:com.bea.broker... -ea:com.bea.sbconsole... -Dplatform.home=C:\Oracle\MIDDLE~1\WLSERV~1.3 -Dwls.home=C:\Oracle\MIDDLE~1\WLSERV~1.3\server -Dweblogic.home=C:\Oracle\MIDDLE~1\WLSERV~1.3\server -Dweblogic.management.discover=true -Dwlw.iterativeDev= -Dwlw.testConsole= -Dwlw.logErrorsToConsole= -Dweblogic.ext.dirs=C:\Oracle\MIDDLE~1\patch_wls1035\profiles\default\sysext_manifest_classpath;C:\Oracle\MIDDLE~1\patch_oepe1050\profiles\default\sysext_manifest_classpath;C:\Oracle\MIDDLE~1\patch_ocp360\profiles\default\sysext_manifest_classpath weblogic.Server

aclement commented 10 years ago

I can only suggest turning on the verbose/explain modes ( https://github.com/spring-projects/spring-loaded/wiki/Configuration-Options ) to perhaps get an insight into what it is doing. But I've personally done no testing on any server other than tomcat, if the class loaders for some other server are not behaving in the same way, it is just not going to work.