Hi,
The issue should be fixed in our nightly release, please try it out at https://zeroturnaround.com/software/jrebel/download/nightly-build/.
Regards,
Hannes
Hi,
The issue should be fixed in our nightly release, please try it out at https://zeroturnaround.com/software/jrebel/download/nightly-build/.
Regards,
Hannes
Tried the nightly build, problem is not there anymore.
Thanks a lot.
-Mouhcine.
Hi,
I went over the logs again however from what i can see for the paths defined in rebel.xml-s, only similarly named classes are present: com.logica.sde.ejb.webservice.SecurityException
com.logica.sde.ejb.remote.webservice.SecurityException
However the one that is being searched is:
com.logica.sde.security.SecurityException
Which is not present in any target/classes folder.
Was this class renamed at some point? Or are you using maven shading to rename the package? Currently i can’t find where this class is being referenced so it’s difficult to tell what causes the problem. Hopefully you can shed some light on this.
Hello,
Just checking in to see if you got my e-mail with my attached logs and if you saw anything.
Thanks.
So it would appear as if JRebel is not really reloading the Spring config class for Swagger.
@Configuration
@EnableSwagger2
public class SwaggerConfig
{
@Bean
public Docket api()
{
return new Docket(DocumentationType.SWAGGER_2).select().apis(RequestHandlerSelectors.any()).paths(PathSelectors.any()).build().apiInfo(apiInfo());
}
private ApiInfo apiInfo()
{
//@formatter:off
return new ApiInfoBuilder().
title("Usage Console API Documentation").
description("This site documents the API for the usage console. Note that any references for the URI /api/v1 require authorization. Legacy methods will be deprecated.").
version("1.0").
termsOfServiceUrl(null).
license(null).
licenseUrl(null).
build();
//@formatter:on
}
}
Even if I make a change to the above class and do a recompile, no changes are reflected within swagger. I have to re-deploy the war every time if I want to see the change in swagger. The class itself will call the constructor again, but no change is seen from the rest api generated by swagger.
I was hoping to have heard from you guys by now with something, but I was able to find a work around to the issue. Apparently swagger tends to cache the data it generates similar to how spring will cache authentication. That’s why you have to re-deploy the model to see changes. It would be a nice feature that Jrebel not only reloads Spring MVC Configuration, but it also triggers the authentication caching mechanisms. It does do a great job reloading controllers.
Hello, I’m trying to enable jrebel for a spring boot application. I’ve successfully enabled it on local. However, after deploying the jar on remote server, the jrebel can’t update the application.
For the spring boot application, I used gradle to build a JAR file. I’ve generated both rebel.xml and rebel-remote.xml files in IDEA. The rebel.xml file has the directory containing the .class files which are used in the JAR. I’ve checked that the JAR did have both rebel.xml and rebel-remote.xml.
Then I deploy the JAR on remote server using java -agentpath:jrebel/lib/libjrebel64.so -Drebel.remoting_plugin=true -jar /build/libs/app.jar
. In IDEA, I also enabled the jrebel remote mode and successfully built the connection. When I made code changes and rebuilt the project with CMD + F9 (IDEA), the corresponding .class file on remote server was updated. But when I refreshed the page, it doesn’t show the change.
I don’t know what I’m doing wrong. Thank you in advance for any replies.
Greetings!
Have you had time to look into this issue and send us a jrebel.log after reproducing this issue?
Please let us know whether this issue is still causing troubles for you.
All the best,
Tiit
Hello Kean!
In remote mode it works a bit different – you would need to press “Synchronise” for JRebel to reflect your changes. If even after that refresh doesn’t show updated info, we would need to check what went wrong – in this case could you please send your trace level jrebel.log file from a remote server side after trying to make a change to support@zeroturnaround.com with the link to this forum topic? To generate it just add -Drebel.log=trace
to your VM arguments, restart your server and reproduce the issue.
Please also mention the name and full path to the class you are trying to reload!
Kind regards,
Valerie
I just wanted to quickly drop in and let everyone know that the issue with multiple hosts being listed in the “no-proxy” field not working as expected with JRebel should be resolved in JRebel 7.0.1.
I just wanted to quickly drop in and let everyone know that the issue with multiple hosts being listed in the “no-proxy” field not working as expected with JRebel should be resolved in JRebel 7.0.1.
Hi,
I’m using JRebel 7.0.1 with IntelliJ 16.3 and Tomcat 8.5.5 on Windows 10.
When I start my tomcat server I can’t see any logs being logged into catalina.log or localhost.log.
It might be connected with the following exception:
Exception in thread "AsyncFileHandlerWriter-1207140081" java.lang.NoSuchMethodError: org.apache.juli.AsyncFileHandler._jr$ig$closed(Ljava/lang/Object;)Z
at org.apache.juli.AsyncFileHandler$LogEntry.flush(AsyncFileHandler.java:173)
at org.apache.juli.AsyncFileHandler$LoggerThread.run(AsyncFileHandler.java:153)
The problem do not exists in 7.0.0
Hi Keith,
This does seem like a bug on our side. Let me know if updating to 3.2.1 works. If it does not, we can further investigate the issue.
Regards,
Risto
Greetings, I’m new with JRebel.
I configured a simple project. Enabled JRebel. However when I run it I get
Expected stackmap frame at this location.
https://gist.github.com/anonymous/9a6bd1a8d2ce356774d4edb5b9f693c9
This error dispersal when I remove the WebMbcAutoConfiguration
@Slf4j
@SpringBootApplication
@EnableAutoConfiguration(exclude = { WebMvcAutoConfiguration.class })
public class Application {
public static void main(String[] args) {
ApplicationContext ctx = SpringApplication.run(Application.class, args);
}
}
but I need it. Is there a way to make this work
When I build using Gradle with the plugin for 7.0.1 installed it will tell me that:
Expanding ${rebel.workspace.path} to ‘C:\git’
The actual path is ‘C:\git\project01’
When installed IntelliJ will collapse my project structure so that it won’t show any modules right after startup. The modules are shown again if I “Refresh all Graddle projects”. (Doesn’t fix the issue with rebel.workspace.path).
I’ve tried overrulling rebel.workspace.path using -Drebel.workspace.path=C:/git/project01 it didn’t seem to have any effect on this issue.
Notice that it happens on Graddle build – The server does not have to be running.
With plugin 7.0.0 installed it will say that:
Expanding ${rebel.workspace.path} to ‘C:\git\project01’
Also, my modules appear OK right away.
Will also be OK when the server is not running.
IDE: IntelliJ Ultimate 2016.3
Hi,
Thanks for reporting the bug. We have reproduced it on our end and are currently working on a fix.
However we currently do not test against spring-boot 2 or spring 5 as they are still in snapshot status so some things might not reload correctly.
Hi,
I’m Risto, one of the engineers here at ZeroTurnaround. How are you today?
Could you check your {user.home}/.jrebel/jrebel.properties file and see if the rebel.workspace.path=C:/git/ is picked up from there. If it is not, please send us your jrebel.log after reproducing the issue to support@zeroturnaround.com . You can find the instructions on how to generate this file here http://manuals.zeroturnaround.com/jrebel/misc/sendinglogs.html
Regards,
Risto
Hi,
The error should now be fixed and is available in the nightly build here: https://zeroturnaround.com/software/jrebel/download/nightly-build/
The fix will also be in the next release(7.0.2)
Greetings!
Letting you know that we have added integrations for TomEE 7.0.2 in the latest nightly build.
Please find the download for the nightly at the following link:
https://zeroturnaround.com/software/jrebel/download/nightly-build/
Please let us know whether the nightly build solved the issue you were experiencing.
All the best,
Tiit
Hello, folks.
I would like to use JRebel remoting with a single-instance (no load balancing) AWS Elastic Beanstalk environment. I am using a Tomcat 8, Java 8 environment with JRebel 7. I’ve configured everything to the best of my ability, but on startup I get the following error:
JRebel-JVMTI [FATAL] Error finding a suitable bootstrap folder! Please specify a folder that exists and is writable by setting the ‘REBEL_BASE’ system environment variable.
This would not normally be a problem, but I can’t seem to figure out how to configure my application to set the REBEL_BASE system environment variable. All the instructions I’ve found for doing so on EB set a special EB-specific environment variable that JRebel doesn’t seem to know how to access.
How can I make this work?