Просто проведох чат с далеч по-опитен и квалифициран колега за JPA и сървърите на приложения.
В момента използвам JPA със Glassfish, коетотой казва, че е лош сървър за приложения поради размера на режийните разходи. Той също спомена, че използва Tomcat, което е стандарт, който има и недостатък да не поддържа тежки тежести като JPA в Java EE. Тогава няколко имена се хвърлят наоколо, като хибернация и пролет, които аз чували за, но не се занимавали.
Така че моят въпрос тук ще бъде: Какви са добрите решения за сървър на приложения, който поддържа Java EE и JPA, който също е популярен и бърз?
Забележка: Задавах подобен въпрос в миналото и той по някакъв начин беше затворен като неконструктивен. Ако установите, че това е неконструктивна публикация, моля, напишете отговор, в който подробно обясните защо преди да затворите това.
Отговори:
1 за отговор № 1Какви са някои добри възможности за сървър на приложения, който поддържа Java EE и JPA, които също са популярни и бързи?
Какъв сървър ще изберете зависи от вашите нужди. Ако не се нуждаете от приложението си някоя от функциите на EE (EJB, транзакции и т.н.), тогава използването на сървър с голяма тежест няма много смисъл и можете да изберете Tomcat, който е съвместим (частично с спецификациите) по-лек ( няма всички тези зависимости, които така или иначе не бихте използвали) и свършва работата.
Ако искате конкретни отзиви за всички сървъри за приложения, може би трябва да направите някои изследвания и да попитате кой сървър е по-подходящ за вас Вашият изисквания. Но това е само мое мнение ...
1 за отговор № 2
Аз използвам Jetty с JPA Hibernateвнедряване и работи много добре. Извън кутията, това е само подмножество от спецификации на JavaEE, но е леко и може да бъде разширено с външни библиотеки, за да добавите липсващи JavaEE части.
(Моето самостоятелно приложение, базирано на пристанище, работи с 160MB налична RAM на вградена система)
1 за отговор № 3
По мое мнение: JBoss е най-популярният и стабилен сървър за приложения с отворен код.
Добра дискусия на разположение на Стъпка Трейс
1 за отговор № 4
Бих ви препоръчал първо да разберете нуждите на вашата кандидатура и да разберете защо имате нужда от JPA.
Нямам нищо против JPA, но в някои сценарии може да се създаде проблем с производителността, който не искате да имате приложение.
Като казах това, бих ви препоръчал да работите със сървър, който поддържа EJB-Lite.
Можете да използвате например JBoss, както е предложено по-горе.
Друг интересен вариант е да използвате TomEE , която осигурява пълен стек от уеб-профил над tomcat.
1 за отговор № 5
Можете да използвате JPA извън пълен Java EE сървър, но той трябва да бъде правилно зареждан. Вярвам, че пролетта има начини да направите това и ще ви позволи да използвате JPA в tomcat, jetty и т.н. ...
1 за отговор № 6
Имате много възможности да изберете сървъри за приложения на Java EE. Тук е сравнението на популярните Java EE сървъри отWiki. Всички те са добри сървъри за приложения. Но най-важното е не сървърът. Използването на сървър, който е по-удобен за вашата развиваща се среда, е по-важно. Изберете сървър, който е по-удобен за вас.