PQ53148, 4.0.1: Application Assembly Tool and J2EE
EAR deployment fixes
Downloadable files
Abstract
Failure occurs with J2EE ear file deployment failure when
Application Assembly Tool (AAT) not used.
Download Description
PQ53148 resolves the following problem.
ERROR DESCRIPTION:
Re-creatable? (y/n):y
How often does the failure occur? every time
Additional Problem Details:
I have tried to deploy into WebSphere V4.0 an application .ear file
generated by forte4j v3.0 and jbuilder5
Both IDE generate the "ear" file in a slightly different way.
Forte4j v3.0: generates an ear file containing alternate deployment
descriptors for the ejb jar and for the Web Application War. The WebSphere
4 (a0127.09) assembly tool fails to interpret the content of the alternate
DD. In some cases, when reading and ear file containing alternate DDs and
clicking on the selection box (either in the ejb or webapp section), it
crashes. The WebSphere 4 install application wizard can read and deploy
the above ear file, however at runtime, the application fails to find the
ejb referenced by the servlet client (the sample output follows):
The servlet has received a GET. This is the reply. Sending parameters to
the Bean:
Creating initial context ...
Looking up home @ java:comp/env/ejb/Register, it didn´t work!
Exception: javax.naming.NameNotFoundException: Name comp/env/ejb not
found in context "java:".
This is despite in the application install wizard the JNDI name of the
bean is assigned correctly (both to the ejb and the servlet client).
A way around this would be to read the .ear file in the assembly tool and
manually assign the JNDI names (even if the bean reference is already
specified in the "Link" field = <ejb-link> ) But the assembly tool
fails as described above because of the presence of alternate DDs in the
application.ear file.
Jbuilder5:
The case with jbuilder5 is different: no alternate DDs present: I read the
.ear file into the assembly tool, I
assign the missing JNDI references, deploy and install.
At the execution i get the following result:
The servlet has received a GET. This is the reply.
Creating initial context ...
Looking up home @ java:comp/env/ejb/Register narrowing, it didn´t work!
In the above case analyzing further the content of the ear file, the
webapp.war file contains the EJB classes as well, while it shouldn´t but
this in this case shouldn´t produce the above result, at worst is just a
redundancy (generated by jbuilder5).
No matter where the problem is, in the IDEs or WebSphere (more likely
there is a bug in all of them), a basic J2EE application .ear file should
be standard and deployable in any application server.
Additional Information: Update after testing the above on the new release
a0128.03:
Some encouraging improvement.
Forte4j:
Reading the .ear file produced by Forte4j v3.0 and ticking/untic the
alternate deployment descriptor doesn´t freeze anymore the Assembly Tool.
Although the operation is slightly confusing as the assembly too keeps
asking to update -> save the file -> update again, a few times, it
is possible now to assign a JNDI name to both the EJB the EJB Module) and
in the EJB references (in the web module). To make the link working there
is also to blank the field "Link" the EJB References of the Web Module. If
the "Link" field is lef with the assigned EJB reference name, the
deployment and the installation of the application go through without
errors, but a the execution time the look-up to the EJB fails with error:
Exception: javax.naming.NameNotFoundException: Name comp/env/ejb found in
context "java:".
JBuilder5:
The problem reported above previously occurring with release a01has
disappeared. Now it is possible to deploy and install an application .ear
file generated by jbuilder5 with success. However to do so it is still
necessary to read the .ear file int the Assembly Tool and assign a JNDI
name to the EJB and the same name to the corresponding EJB Reference in
the Web Module. Same behavior as for Forte4j about the Link reference
field: if assigned (not blank) the EJB name look-up fails at run time.
The Defects that have been fixed and related Developers are: 110390 -
forte4j v3.0/jbuilder5-J2EE ear file deployment failure.
110390.1 - AAT doesn´t read file with alt-dd correctly.
PROBLEM SUMMARY:
USERS AFFECTED:
WebSphere Application Server users that are attempting to install .ear
files that have not been run through AAT.
PROBLEM DESCRIPTION:
J2EE ear files that were not run through the AAT prior to attempting to
install them result in errors from Admin.
RECOMMENDATION:
This APAR resulted in several point defects being created to address the
various aspects of the problem. This e-fix resolves problems deploying
.ear files that have not been run through AAT. However due to the risk and
magnitude of code changes needed, this .ear files cannot contain ALT-DDs.
Deploying ear files which contain ALT-DDs is a limitation with the 4.0
release. This feature will not be addressed until a future release.
PROBLEM CONCLUSION:
An e-fix was generated which provides the ability to install applications
which were not previously run through AAT provided that these ear files do
not ALT-DDs.
TEMPORARY FIX:
An e-fix was delivered to the customer to allow ear files that were not
run through AAT to be installed. However, these .ear files cannot contain
ALT-DDs. This is a limitation of release 4.0 and will not be supported
until release 5.0.
Prerequisites
None
Installation Instructions
Please refer to the readme.txt for installation instructions