Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Public web application with PF4J and Spring(Boot) #88

Open
decebals opened this issue Jan 4, 2025 · 1 comment
Open

Public web application with PF4J and Spring(Boot) #88

decebals opened this issue Jan 4, 2025 · 1 comment
Labels

Comments

@decebals
Copy link
Member

decebals commented Jan 4, 2025

Recently I started to work on a web application using PF4J and Spring Boot.
I use pf4j-spring library.
I encounter some problem in context of JPA (Hibernate). My issue is described in #65 (comment).
I tried to investigate a little bit the issue and I saw that it is not easy to find a solution (add JPA support in app + plugins).
@hank-cp did a good job in https://github.com/hank-cp/sbp. He summarizes the possible solutions in https://github.com/hank-cp/sbp/blob/master/docs/persistence.md but his conclusion on this subject is somehow clear:

I spent so many time trying to manage hibernate entity graph, and gave it up finally. HIbernate is totally deaign for monolithic architecture, and never consider any runtime/dynamic support, as well as in future I guess.

For more context see hank-cp/sbp#11 (comment).
After I spending a few hours investigated the issue, I'm inclined to agree with him.

It's for the first time when I try to use pf4j in a Spring Boot web application.
Until now I have used another stack but I said to convert the application that I am going to publish as open source into a Spring Boot application so that I can somehow be aligned with the main stream.

Now my question to the community is: has anyone managed to create a scalable application using PF4J and Spring (MVC, Boot, ..)? What persistence layer does it use (ideally JPA, eventually with other implementations besides Hibernate - Eclipse Link for example)?

What means scalable is small core (entities, repositories, controllers, ..) and plugins (new entities, repositories, controllers, ..).

@hank-cp
Copy link

hank-cp commented Jan 13, 2025

In our commercial project, which is based on sbp, we use jooq + sfm as persistence midware. mybatis is also a fine option. Jpa/Hibernate is NOT on my table from the very beginning:)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants