Java EE 6 on Glassfish v4 - glassfish

Is it possible to use the new Glassfish 4 application server to run existing Java EE 6 applications, or it's only for Java EE 7?

Yes it is possible. Java EE 7 in general is downwards compatible with Java EE 6 but there may be some updates in the API implementations, e.g. class/interface/method names may have been changed.

Related

How can I improve Java application load / startup/ boot time on Websphere 8.5?

I need a solution to bring up java applications on IBM Websphere faster. I looked up material on IBM website. The suggested jvm flag -XQuickStart but that flag seems to emulate -client so won't be useful in production.
What are the other ways that in which on can improve/lower boot times for applications deployed via ear files on Websphere 8.5? Please consider both JDK 7 and 8 when giving suggestions.

Java batch (JSR 352) with Weblogic 12.1.3

Can i use java batch with weblogic 12.1.3?
This version of weblogic support java EE 7 but in the console I can not find a page with the Batch configuration
You can not use Batch API (JSR 352) with 12.1.3 version of Weblogic as this version is not a full Java EE 7 version.
It's a Java EE 6 version with few Java EE 7 API in advance : JAX-RS 2.0 (JSR 339), WebSocket API (JSR 356) and JSON API(JSR 353) but NOT the Batch API.
If you want to use Java Batch API with weblogic, you need to use weblogic 12.2.1 version.

Why are Java EE API's themselves implemented by makers of application servers?

Am I seeing a fundamental difference between how Java Standard API and Java EE API's are implemented?
Java Standard API is up here, implemented by Oracle, for anyone to use in Java programming:
http://docs.oracle.com/javase/7/docs/api
But why is it that makers (i.e. IBM, RedHat, Oracle) of application servers (i.e. JBoss, WebLogic, WebSphere, GlassFish, WildFly) come up with different implementations of the same Java EE API?
Example-1: RESTEasy is an implementation of JAX-RS available with JBoss
Example-2: HornetQ is an implementation of JMS available with WildFly
I guess I should ask, "What does it even mean to have this EE API page on the Oracle website since every vendor has its own implementation? Is the link below just for a show?"
https://docs.oracle.com/javaee/7/api/
Your initial assumption is not entirely correct.
There are in fact several implementations of Java SE besides the most widely used oracle distribution. The biggest ones are OpenJDK and IBM's JDK.
So, the Java SE API's have a spec just like Java EE does, each with different implementations. The oracle api links you posted are merely requirements for the interfaces, but there still needs to be an implementation for these APIs whether it's Java SE or Java EE.

Does Weblogic12c support jersey 2.x?

I have upgraded my web application to JAX-RS 2.0.
The web application seems to work fine on Apache Tomcat. However, it does not get deployed on Weblogic 12c (or even 10.3.6).
I am not sure if there is a proper support by weblogic and I believe it requires some configuration and class loader filtering to override the default JAX-RS 1.1 implementation ?
Any idea how to achieve this and make my web application run on WLS 12c ?
WebLogic 12c is Java EE 6 certified and so, implements JAX-RS 1.1. WebLogic plans to offer support for JAX-RS 2.0 in its next version 12.1.3 (as well a few other Java EE 7 APIs, but not all).
If you want to use JAX-RS 2.0 in current releases of WebLogic (12.1.1 and 12.1.2) you will have to deploy JAX-RS as you do with Tomcat, and tune weblogic.xml to isolate the classpath so it won't conflict with the JAX-RS 1.1 implementation.
For specifics on how to do this, please see documentation (of WebLogic 12.1.2): Updating the Version of Jersey JAX-RS RI
Update, Jan 4th, 2016
WebLogic 12.2.1, already released, is fully Java EE 7 certified.
WebLogic 12.1.3 will support JAX-RS 2.0 after registering Jersey 2.5.1 in the domain.
See the following page for details:
https://docs.oracle.com/middleware/1213/wls/RESTF/use-jersey20-ri.htm#RESTF290

JSF 2.0 Java EE 6 authentication - Apache Shiro or other libraries?

For development of my first JSF 2.0 app I use GlassFish v3.1, deployment is planned on JBoss 6. Are there libraries which work on both servers and support JDBC based login? I have read about Apache Shiro, is this an option for this scenario or would you recommend a different library?
Shiro should more than meet your needs in a Java EE app. Feel free to ask any questions about it along the way - you'll find a helpful community!
Apache Shiro isn't based on Java EE security. I'd really use the latter (specifying security in web.xml, ejb annotations, ...). A login module in Glassfish (custom or existing one), or the jboss equivalent, should handle authentication/groups/roles. I really wouldn't use a non-standard library where there is a standard solution (=specification-based).