Thanks a lot for the tips on Spring Boot packaging in JAR. Yes, the first example I showed was with packaging WAR. That works fine.
I would try your tips to be able to run on the JAR packaging (second example). I'll tell you, whether I'm successful or not. It is weird, that I could run the RemoteLoggingServiceImpl.java for GWT logger on the JAR packaging but not the RemoteServlet. Thanks, Lofi Leon Pennings <[email protected]> schrieb am Di., 6. Dez. 2022, 14:28: > In addition to previous poster -> yes you can keep on using the GWT RPC. > > The things I had to change in order to keep it working when packaging the > spring boot jar, was; > 1 - to make sure Spring Boot runs the servlets (enough on the web for that) > 2 - to make sure the gwt compile ends up in de classes folder before the > .jar is created > 3 - to make sure the servlet can access the .gwt.rpc file to validate the > servlet calls. > Normally that is available to the servlet from the war package, but since > it's a jar with Spring boot you need to make some changes; > For that I had to override the RemoteServiceServlet method; > > @Override > protected SerializationPolicy doGetSerializationPolicy(HttpServletRequest > request, String moduleBaseURL, String strongName) { > return SerializationPolicyLoader.loadFromStream(new > ClassPathResource("classpath:yourLocation/" + > strongName+".gwt.rpc").getInputStream(), null); > } > > So the changes are quite limited and not as much Spring boot specific, but > more the oddities of changing the package format from a .war to a .jar > That was all -> runs like a charm > Op maandag 5 december 2022 om 23:00:26 UTC+1 schreef [email protected]: > >> Hi All, >> >> you don't have to move GWT RPC to REST and JSON when you want to move the >> backend to Spring Boot. GWT RPC is just a servlet which you can register in >> Spring Boot. >> >> Here are some examples of the standard GWT Demo StockWatcher but >> implemented using Spring Boot with GWT RPC and REST JSON: >> >> https://github.com/lofidewanto/stockwatcher >> >> (1) This example shows how to integrate the GWT RPC servlet to Spring >> Boot using @WebServlet: >> https://github.com/lofidewanto/stockwatcher/blob/master/stockwatcher-springboot-webapp/stockwatcher-springboot-webapp-server/src/main/java/stockwatcher/GreetingServiceImpl.java >> >> (2) This example shows to integrate the GWT RPC servlet to Spring Boot, >> but I think doesn't work so far. I could take a look if you want to. >> >> >> https://github.com/lofidewanto/stockwatcher/blob/master/stockwatcher-springboot/stockwatcher-springboot-server/src/main/java/stockwatcher/WebConfig.java >> >> Cheers, >> Lofi >> >> Michael Joyner schrieb am Montag, 21. November 2022 um 16:50:29 UTC+1: >> >>> *Are you using gwt-RPC ?* >>> Yes! we are using GWT-RPC & currently having a single WAR of near about >>> 500mb, having CLIENT-SHARED-SERVER in a same project. >>> >>> You can still have everything in a master parent project that builds the >>> final WAR with all the client JS and SERVER classes in the same war. >>> >>> >>> *You'll need to switch to JSON for data transport.* >>> Is there any drawback of switching to JSON in GWT, such as impact on >>> performance etc. >>> >>> You lose easy polymorphism for models, they will require an extra set of >>> annotations at the very least if you have polymorphism as part of your DTO >>> setup. >>> >>> >>> *You'll need to use something like DominoKit REST.* >>> We found one RestyGWT <https://resty-gwt.github.io/>, but not sure >>> about its final impact as we haven't applied it yet. any suggestions... >>> >>> RestyGWT is effectively defunct. Stick with a modern GWT3 compatible >>> approach such as DominoKit. >>> >>> >>> >>> *It would be also be best to split the project into three projects. An >>> API project, a shared code project, and a UI project.* >>> We cannot get why keeping *SHARED CODE *as a separate project is best. >>> We are not having any library of GWT on server side. So except MODELS, what >>> are the other stuffs we can have in SHARED CODE PROJECT. >>> >>> In this case SHARED CODE is really just the MODELS and INTERFACES and >>> possible the REST Interface. >>> >>> >>> *If you are using gwt-RPC then IMHO there will need to be a big >>> refactoring change at the very least* >>> This is where we are stuck & looking for the solution with a minimum >>> change and should be stable but unable to figure out yet. >>> >>> I don't think you can accomplish this with a large project with minimum >>> of change unless the client API calls are fully abstracted away (or can be) >>> so that code could be replaced with a different class. >>> >>> >>> On Monday, November 21, 2022 at 7:37:33 PM UTC+5:30 Michael Joyner wrote: >>> >>>> There are a lot of factors to consider. >>>> >>>> Are you using gwt-RPC ? You'll need to switch to JSON for data >>>> transport. >>>> >>>> You'll need to use something like DominoKit REST ( >>>> https://github.com/DominoKit/domino-rest) for the data transport >>>> layer. >>>> >>>> It would be also be best to split the project into three projects. An >>>> API project, a shared code project, and a UI project. >>>> >>>> If you are using gwt-RPC then IMHO there will need to be a big >>>> refactoring change at the very least. >>>> >>>> >>>> On 11/21/22 08:19, [email protected] wrote: >>>> >>>> >>>> We are having a huge project already running successfully on GWT. >>>> >>>> But for some reasons we are planning to move our backend to SPRING-BOOT >>>> keeping front end in GWT. >>>> >>>> Is there any way we can do it easily without a big change in our >>>> existing application. >>>> >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "GWT Users" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/google-web-toolkit/c267bbb3-504f-41a8-896a-a2c2463eccdcn%40googlegroups.com >>>> <https://groups.google.com/d/msgid/google-web-toolkit/c267bbb3-504f-41a8-896a-a2c2463eccdcn%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>>> -- >>> You received this message because you are subscribed to the Google >>> Groups "GWT Users" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/google-web-toolkit/1790c907-ce31-4d97-a5b9-1915fef68865n%40googlegroups.com >>> <https://groups.google.com/d/msgid/google-web-toolkit/1790c907-ce31-4d97-a5b9-1915fef68865n%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >>> >>> -- > You received this message because you are subscribed to a topic in the > Google Groups "GWT Users" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/google-web-toolkit/13cHZX5KoQA/unsubscribe > . > To unsubscribe from this group and all its topics, send an email to > [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/google-web-toolkit/5535048c-bbc2-4f58-8cf4-11025a166464n%40googlegroups.com > <https://groups.google.com/d/msgid/google-web-toolkit/5535048c-bbc2-4f58-8cf4-11025a166464n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "GWT Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/google-web-toolkit/CAGM6XmbLvkJc29nw8zQfXRPQHLJzRHYQ9tZOoGK-ZCxYBurV-w%40mail.gmail.com.
