Index Changes

Difference between version and version     

Back to Fuji Glass Fish V 3 Integration, or Fuji Glass Fish V 3 Integration Info


At line 170 changed 1 line.
* Download and install GlassFish from [here|http://download.java.net/maven/glassfish/org/glassfish/distributions/glassfish/3.0-b61/glassfish-3.0-b61.zip].
* Download and install GlassFish Build 61 from [here|http://download.java.net/maven/glassfish/org/glassfish/distributions/glassfish/3.0-b61/glassfish-3.0-b61.zip].
At line 223 changed 1 line.
!! Issue 1870 - https://open-esb.dev.java.net/issues/show_bug.cgi?id=1870
!! 1. Issue 1870 - CLI commands
At line 225 added 2 lines.
https://open-esb.dev.java.net/issues/show_bug.cgi?id=1870
At line 228 changed 1 line.
!!
!! 2. Issue 2111 - Issue Java EE SE integration
At line 232 added 1 line.
https://open-esb.dev.java.net/issues/show_bug.cgi?id=1870
At line 234 added 1 line.
Design and implementation of how to handle Java EE services in V3. Current support is documented in this wiki in section JavaEEServiceEngine.
At line 236 added 1 line.
!! 3. Errors in latest GlassFish builds during component start-up
At line 238 added 27 lines.
This does not have a corresponding issue. There are some errors at Fuji framework start-up while trying to update logger configuration. While this is not specific to the container and should be seen in FujiGlassFish distribution also, this needs to be investigated. Mismatch in Felix version or API changes could be a potential cause.
{{{
[#|2009-10-18T21:30:56.956-0700|SEVERE|glassfish|null|_ThreadID=28;_ThreadName=Thread-3;|*ERROR* [org.osgi.service.cm.ManagedService, id=33, bundle=211]: Unexpected problem updating Configuration PID=fuji-configuration.component-logger.sun-file-binding, factoryPID=null, bundleLocation=/Users/annies/b66/glassfishv3/glassfish/modules/autostart/jbi-framework.jar|#]
[#|2009-10-18T21:30:56.956-0700|SEVERE|glassfish|null|_ThreadID=28;_ThreadName=Thread-3;|java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.util.Vector|#]
[#|2009-10-18T21:30:56.956-0700|SEVERE|glassfish|null|_ThreadID=28;_ThreadName=Thread-3;| at com.sun.jbi.logging.LoggerConfigurationService.updated(LoggerConfigurationService.java:156)|#]
[#|2009-10-18T21:30:56.957-0700|SEVERE|glassfish|null|_ThreadID=28;_ThreadName=Thread-3;| at org.apache.felix.cm.impl.ConfigurationManager$UpdateConfiguration.run(ConfigurationManager.java:1389)|#]
[#|2009-10-18T21:30:56.957-0700|SEVERE|glassfish|null|_ThreadID=28;_ThreadName=Thread-3;| at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:88)|#]
}}}
!! 4. Streamline the packaging
Fuji container's source is in FUJI-ROOT/core/glassfish and the packaging code is in FUJI-ROOT/packaging/release-packages/fuji-gf-container. At some point the packaging has to be modified to include CLI extensions also.
Another packaging module has to be added to repackage the container as an IPS package. After that is made available, the primary way to install Fuji over GlassFish should be installing glassfish and getting the container from the update center. This would mean periodic updating of the container image in the update center repository and establishing a verification test setup before doing the same.
After the above mentioned steps have been accomplished, FujiGlassFish distribution should be phased out. It was put together as a stop-gap measure and the idea of overwriting GlassFish's config.properties with our own version would not scale. For the production/final release there may be another installer needed that could simulate the steps of a plain GlassFish install followed by obtaining and installing the container from the update center.
!! 5. Issue 970
This is the top level issue for V3 integration and for developer release should be resolved when the above mentioned issues and the issues in the In-Progress section are resolved. There may be needs to add some additional items to this to make the work complete for production release. These items may be related to configuration and monitoring and not enough details are available now. Some requirements are in this wiki at the Requirements table.
At line 239 removed 1 line.
The following issues are in progress.
At line 241 changed 1 line.
!! Issue 2112 - https://open-esb.dev.java.net/issues/show_bug.cgi?id=2112
!! 1. Issue 2112:
At line 274 added 80 lines.
Issue 2112 - https://open-esb.dev.java.net/issues/show_bug.cgi?id=2112.
FujiContainer processes the incoming service assembly by parsing the archive and creating a separate, new module for the service assembly that contains the archives with jbi.xml.
Any other archive that is present is not processed for now. The plan is to be able to deploy even a generic war file or ear file without any JBI specific information.
The handling will be very similar to the way GlassFish's EARHandler handles the archives. As the FujiCompositeArchive handler is based on the same the support is built-in.
But this needs verification and some changes.
! ModuleDeploymentContexts:
In the current Fuji container, extended deployment context instances are being created in FujiCompositeDeployer and FujiCompositeArchiveHandler (as Anonymous Inner Classes). The information that we store in one deployment
context, module-name, was lost while the OSGi Container trying to retrieve it it is dealing with another instance of the ExtendedDeploymentContext. This is the reason behind the deployment errors that go like this
{{{ NullPointerException at creating RefCountingClassLoader at OSGiDeployer.load()}}}
As a fix for this, we have the following hack in FujiCompositeDeployer.
{{{ moduleContext.getAppProps().put("module-name", FileUtils.makeFriendlyFilename(application.getName())+"-container-created-sa");}}}.
This would not work for the following cases - when the manifest of the incoming service assembly contains bundle headers(in which case the module name is the bundle name and not the default application-name-container-created-sa) and in cases where the incoming archive has other archives like war and ear. The fix is to use the newly added API in glassfish to save the module specific extended deployment context like this.
{{{
Index: container/src/main/java/com/sun/jbi/glassfish/container/composite/FujiCompositeArchiveHandler.java
@@ -375,6 +372,9 @@
subArchive.setParentArchive(context.getSource());
ClassLoader subCl = handler.getClassLoader(cloader, subContext);
//cloader.addModuleClassLoader(moduleURI, subCl);
+
+ ((ExtendedDeploymentContext)context).getModuleDeploymentContexts().put(moduleURI, subContext);
+
}}}
Also this fix is needed for FujiCompositeArchiveHandler
{{{
--- container/src/main/java/com/sun/jbi/glassfish/container/composite/FujiCompositeArchiveHandler.java (revision 1119)
+++ container/src/main/java/com/sun/jbi/glassfish/container/composite/FujiCompositeArchiveHandler.java (working copy)
@@ -222,9 +222,7 @@
subArchive = source.getSubArchive(moduleUri);
ArchiveHandler subHandler = deployment.getArchiveHandler(subArchive);
if (subHandler!=null) {
- subTarget = target.createSubArchive(
- //FileUtils.makeFriendlyFilename(subArchive.getName()));
- subArchive.getName());
+ subTarget = target.createSubArchive(FileUtils.makeFriendlyFilename(moduleUri));
subHandler.expand(subArchive, subTarget, context);
}}}
And the ExtendedDeploymentContext has to be retrieved from FujiCompositeDeployer instead of creating a new one.
{{{
Index: container/src/main/java/com/sun/jbi/glassfish/container/composite/FujiCompositeDeployer.java
===================================================================
--- container/src/main/java/com/sun/jbi/glassfish/container/composite/FujiCompositeDeployer.java (revision 1119)
+++ container/src/main/java/com/sun/jbi/glassfish/container/composite/FujiCompositeDeployer.java (working copy)
@@ -360,6 +360,7 @@
ExtendedDeploymentContext moduleContext = ((ExtendedDeploymentContext)context).getModuleDeploymentContexts().get(moduleUri);
if (moduleContext != null) {
//This is where I return the existing deployment context and not create a new one
return moduleContext;
}
}}}
! Sample applications for testing.
"Add any Netbeans Ear project with JAX-WS WS to Composite Application project and use. Also if you have Java CAPS installed you can even add Deployment Profile to Composite Application project. Second variety is actually called "JBI Bridge". Mark White and Girish Patil have some sample applications for testing.
!! 2. Issue 1839:
https://open-esb.dev.java.net/issues/show_bug.cgi?id=1839
All blocking issues have been resolved. The container services are discovered at start-up after the changes to the layout as done in fix for [issue 2350|https://open-esb.dev.java.net/issues/show_bug.cgi?id=1839]. This makes the job of packaging the container simple.
There are some details about how to handle the packaging, in this thread - http://markmail.org/message/3t4foxg53x2f74as

JSPWiki v2.4.100
[RSS]
« Home Index Changes Prefs
This page (revision-69) was last changed on 04-Nov-09 09:26 AM, -0800 by Annies Abduljaffar