If we look at the EBAInstaller.install() code we see,
LOGGER.debug("created app from {} : {} {} with contents {}", new Object[] {
applicationLocation.getName(), appSymName, appVersion,
app.getApplicationMetadata().getApplicationContents() });
AriesApplicationContext context = applicationManager.install(app);
LOGGER.debug("installed app {} {} state: {}", new Object[] {
appSymName, appVersion,
context.getApplicationState() });
context.start();
LOGGER.debug("started app {} {} state: {}", new Object[] {
appSymName, appVersion,
context.getApplicationState() });
Your trace shows the "created app" message but not the "installed app"
message. The ApplicationManager.install() call terminated with,
16:37:49,688 | DEBUG | -SNAPSHOT/deploy | ModelledResourceManagerImpl
| impl.ModelledResourceManagerImpl 121 | 232 -
org.apache.aries.application.modeller - 0.3.0.SNAPSHOT | Method exit:
getServiceElements, returning
org.apache.aries.application.modelling.ModellerException:
org.osgi.service.blueprint.container.ComponentDefinitionException:
Unsupported node namespace:
http://aries.apache.org/xmlns/transactions/v1.0.0
Since you are trying to install the JpaBlogSampleWithEba, you will
need to install all the same bundles into your runtime as we do in
org.apache.aries.samples.blog.itests.JpaBlogSampleWithEbaTest.configuration()
:
public static Option[] configuration() {
Option[] options = options(
bootDelegationPackages("javax.transaction", "javax.transaction.*"),
vmOption("-Dorg.osgi.framework.system.packages=javax.accessibility,javax.activation,javax.activity,javax.annotation,javax.annotation.processing,javax.crypto,javax.crypto.interfaces,javax.crypto.spec,javax.imageio,javax.imageio.event,javax.imageio.metadata,javax.imageio.plugins.bmp,javax.imageio.plugins.jpeg,javax.imageio.spi,javax.imageio.stream,javax.jws,javax.jws.soap,javax.lang.model,javax.lang.model.element,javax.lang.model.type,javax.lang.model.util,javax.management,javax.management.loading,javax.management.modelmbean,javax.management.monitor,javax.management.openmbean,javax.management.relation,javax.management.remote,javax.management.remote.rmi,javax.management.timer,javax.naming,javax.naming.directory,javax.naming.event,javax.naming.ldap,javax.naming.spi,javax.net,javax.net.ssl,javax.print,javax.print.attribute,javax.print.attribute.standard,javax.print.event,javax.rmi,javax.rmi.CORBA,javax.rmi.ssl,javax.script,javax.security.auth,javax.security.auth.callback,javax.security.auth.kerberos,javax.security.auth.login,javax.security.auth.spi,javax.security.auth.x500,javax.security.cert,javax.security.sasl,javax.sound.midi,javax.sound.midi.spi,javax.sound.sampled,javax.sound.sampled.spi,javax.sql,javax.sql.rowset,javax.sql.rowset.serial,javax.sql.rowset.spi,javax.swing,javax.swing.border,javax.swing.colorchooser,javax.swing.event,javax.swing.filechooser,javax.swing.plaf,javax.swing.plaf.basic,javax.swing.plaf.metal,javax.swing.plaf.multi,javax.swing.plaf.synth,javax.swing.table,javax.swing.text,javax.swing.text.html,javax.swing.text.html.parser,javax.swing.text.rtf,javax.swing.tree,javax.swing.undo,javax.tools,javax.xml,javax.xml.bind,javax.xml.bind.annotation,javax.xml.bind.annotation.adapters,javax.xml.bind.attachment,javax.xml.bind.helpers,javax.xml.bind.util,javax.xml.crypto,javax.xml.crypto.dom,javax.xml.crypto.dsig,javax.xml.crypto.dsig.dom,javax.xml.crypto.dsig.keyinfo,javax.xml.crypto.dsig.spec,javax.xml.datatype,javax.xml.namespace,javax.xml.parsers,javax.xml.soap,javax.xml.stream,javax.xml.stream.events,javax.xml.stream.util,javax.xml.transform,javax.xml.transform.dom,javax.xml.transform.sax,javax.xml.transform.stax,javax.xml.transform.stream,javax.xml.validation,javax.xml.ws,javax.xml.ws.handler,javax.xml.ws.handler.soap,javax.xml.ws.http,javax.xml.ws.soap,javax.xml.ws.spi,javax.xml.xpath,org.ietf.jgss,org.omg.CORBA,org.omg.CORBA.DynAnyPackage,org.omg.CORBA.ORBPackage,org.omg.CORBA.TypeCodePackage,org.omg.CORBA.portable,org.omg.CORBA_2_3,org.omg.CORBA_2_3.portable,org.omg.CosNaming,org.omg.CosNaming.NamingContextExtPackage,org.omg.CosNaming.NamingContextPackage,org.omg.Dynamic,org.omg.DynamicAny,org.omg.DynamicAny.DynAnyFactoryPackage,org.omg.DynamicAny.DynAnyPackage,org.omg.IOP,org.omg.IOP.CodecFactoryPackage,org.omg.IOP.CodecPackage,org.omg.Messaging,org.omg.PortableInterceptor,org.omg.PortableInterceptor.ORBInitInfoPackage,org.omg.PortableServer,org.omg.PortableServer.CurrentPackage,org.omg.PortableServer.POAManagerPackage,org.omg.PortableServer.POAPackage,org.omg.PortableServer.ServantLocatorPackage,org.omg.PortableServer.portable,org.omg.SendingContext,org.omg.stub.java.rmi,org.w3c.dom,org.w3c.dom.bootstrap,org.w3c.dom.css,org.w3c.dom.events,org.w3c.dom.html,org.w3c.dom.ls,org.w3c.dom.ranges,org.w3c.dom.stylesheets,org.w3c.dom.traversal,org.w3c.dom.views,org.xml.sax,org.xml.sax.ext,org.xml.sax.helpers,javax.transaction;partial=true;mandatory:=partial,javax.transaction.xa;partial=true;mandatory:=partial"),
// Log
mavenBundle("org.ops4j.pax.logging", "pax-logging-api"),
mavenBundle("org.ops4j.pax.logging", "pax-logging-service"),
// Felix mvn url handler - do we need this?
mavenBundle("org.ops4j.pax.url", "pax-url-mvn"),
// this is how you set the default log level when using
pax logging (logProfile)
systemProperty("org.ops4j.pax.logging.DefaultServiceLog.level").value("DEBUG"),
// Bundles
mavenBundle("org.eclipse.equinox", "cm"),
mavenBundle("org.eclipse.osgi", "services"),
mavenBundle("org.ops4j.pax.web", "pax-web-extender-war"),
mavenBundle("org.ops4j.pax.web", "pax-web-jetty-bundle"),
mavenBundle("org.ops4j.pax.web", "pax-web-jsp"),
mavenBundle("org.apache.derby", "derby"),
mavenBundle("org.apache.geronimo.specs", "geronimo-jpa_2.0_spec"),
mavenBundle("org.apache.geronimo.specs", "geronimo-jta_1.1_spec"),
mavenBundle("org.apache.geronimo.specs",
"geronimo-j2ee-connector_1.5_spec"),
mavenBundle("org.apache.geronimo.components",
"geronimo-transaction"),
mavenBundle("org.apache.openjpa", "openjpa"),
mavenBundle("commons-lang", "commons-lang"),
mavenBundle("commons-collections", "commons-collections"),
mavenBundle("commons-pool", "commons-pool"),
mavenBundle("org.apache.servicemix.bundles",
"org.apache.servicemix.bundles.serp"),
mavenBundle("org.apache.aries.blueprint",
"org.apache.aries.blueprint" ),
mavenBundle("org.apache.aries.proxy", "org.apache.aries.proxy"),
mavenBundle("org.apache.aries", "org.apache.aries.util" ),
mavenBundle("org.apache.aries.jndi", "org.apache.aries.jndi" ),
mavenBundle("org.apache.felix",
"org.apache.felix.bundlerepository"),
mavenBundle("org.apache.felix", "org.apache.felix.fileinstall" ),
mavenBundle("org.apache.aries.application",
"org.apache.aries.application.resolver.obr"),
mavenBundle("org.apache.aries.application",
"org.apache.aries.application.install" ),
mavenBundle("org.apache.aries.application",
"org.apache.aries.application.api" ),
mavenBundle("org.apache.aries.application",
"org.apache.aries.application.management" ),
mavenBundle("org.apache.aries.application",
"org.apache.aries.application.runtime" ),
mavenBundle("org.apache.aries.application",
"org.apache.aries.application.utils" ),
mavenBundle("org.apache.aries.application",
"org.apache.aries.application.modeller"),
mavenBundle("org.apache.aries.application",
"org.apache.aries.application.default.local.platform"),
mavenBundle("org.apache.aries.application",
"org.apache.aries.application.noop.platform.repo"),
mavenBundle("org.apache.aries.application",
"org.apache.aries.application.noop.postresolve.process"),
mavenBundle("org.apache.aries.application",
"org.apache.aries.application.deployment.management"),
mavenBundle("org.apache.aries.jpa", "org.apache.aries.jpa.api" ),
mavenBundle("org.apache.aries.jpa",
"org.apache.aries.jpa.container" ),
mavenBundle("org.apache.aries.jpa",
"org.apache.aries.jpa.blueprint.aries" ),
mavenBundle("org.apache.aries.jpa",
"org.apache.aries.jpa.container.context" ),
mavenBundle("org.apache.aries.transaction",
"org.apache.aries.transaction.manager" ),
mavenBundle("org.apache.aries.transaction",
"org.apache.aries.transaction.blueprint" ),
mavenBundle("org.apache.aries.transaction",
"org.apache.aries.transaction.wrappers" ),
mavenBundle("org.apache.aries.samples.blog",
"org.apache.aries.samples.blog.datasource" ),
mavenBundle("asm", "asm-all" ),
equinox().version("3.5.0")
);
options = updateOptions(options);
return options;
}
Regards,
Mark
On 14 January 2011 16:06, Charles Moulliard<cmoulli...@gmail.com> wrote:
Hi Mark,
I have found from the log file an additional info
16:37:49,082 | DEBUG | -SNAPSHOT/deploy | EBAInstaller
| application.install.EBAInstaller 67 | 228 -
org.apache.aries.application.install - 0.3.0.SNAPSHOT | created app
from org.apache.aries.samples.blog.jpa.eba-0.3-SNAPSHOT.eba :
org.apache.aries.samples.blog.jpa.eba 0.3.0.SNAPSHOT with contents
[org.apache.aries.samples.blog.persistence.jpa;{version->0.3.0.SNAPSHOT},
org.apache.aries.samples.blog.biz;{version->0.3.0.SNAPSHOT},
org.apache.aries.samples.blog.api;{version->0.3.0.SNAPSHOT},
org.apache.aries.samples.blog.web;{version->0.3.0.SNAPSHOT}]
16:37:49,087 | DEBUG | -SNAPSHOT/deploy |
DeploymentManifestManagerImpl | pl.DeploymentManifestManagerImpl
137 | 236 - org.apache.aries.application.deployment.management -
0.3.0.SNAPSHOT | Method entry: generateDeploymentManifest, args
[org.apache.aries.application.management.impl.AriesApplicationImpl@53720a2,
[]]
16:37:49,087 | DEBUG | -SNAPSHOT/deploy |
DeploymentManifestManagerImpl | pl.DeploymentManifestManagerImpl
633 | 236 - org.apache.aries.application.deployment.management -
0.3.0.SNAPSHOT | Method entry: getByValueBundles, args
[org.apache.aries.application.management.impl.AriesApplicationImpl@53720a2]
16:37:49,103 | DEBUG | -SNAPSHOT/deploy | ModelledResourceManagerImpl
| impl.ModelledResourceManagerImpl 131 | 232 -
org.apache.aries.application.modeller - 0.3.0.SNAPSHOT | Method entry:
getModelledResource, args [null,
/var/folders/+B/+BKA5gXmHdSjYzHY8ESZGk+++TI/-Tmp-/ebaTmp4372104825175758605.tmporg.apache.aries.samples.blog.api-0.3-SNAPSHOT.jar/]
16:37:49,103 | DEBUG | -SNAPSHOT/deploy | ModelledResourceManagerImpl
| impl.ModelledResourceManagerImpl 88 | 232 -
org.apache.aries.application.modeller - 0.3.0.SNAPSHOT | Method entry:
getServiceElements, args
/var/folders/+B/+BKA5gXmHdSjYzHY8ESZGk+++TI/-Tmp-/ebaTmp4372104825175758605.tmporg.apache.aries.samples.blog.api-0.3-SNAPSHOT.jar/
16:37:49,104 | DEBUG | -SNAPSHOT/deploy | ModelledResourceManagerImpl
| impl.ModelledResourceManagerImpl 157 | 232 -
org.apache.aries.application.modeller - 0.3.0.SNAPSHOT | Method entry:
findBlueprints, args
/var/folders/+B/+BKA5gXmHdSjYzHY8ESZGk+++TI/-Tmp-/ebaTmp4372104825175758605.tmporg.apache.aries.samples.blog.api-0.3-SNAPSHOT.jar/
16:37:49,104 | DEBUG | -SNAPSHOT/deploy | ModelledResourceManagerImpl
| impl.ModelledResourceManagerImpl 178 | 232 -
org.apache.aries.application.modeller - 0.3.0.SNAPSHOT | Method entry:
findBlueprints, args
[/var/folders/+B/+BKA5gXmHdSjYzHY8ESZGk+++TI/-Tmp-/ebaTmp4372104825175758605.tmporg.apache.aries.samples.blog.api-0.3-SNAPSHOT.jar/]
16:37:49,105 | DEBUG | -SNAPSHOT/deploy | EBAInstaller
| application.install.EBAInstaller 67 | 228 -
org.apache.aries.application.install - 0.3.0.SNAPSHOT | created app
from org.apache.aries.samples.blog.jpa.eba-0.3-SNAPSHOT.eba :
org.apache.aries.samples.blog.jpa.eba 0.3.0.SNAPSHOT with contents
[org.apache.aries.samples.blog.persistence.jpa;{version->0.3.0.SNAPSHOT},
org.apache.aries.samples.blog.biz;{version->0.3.0.SNAPSHOT},
org.apache.aries.samples.blog.api;{version->0.3.0.SNAPSHOT},
org.apache.aries.samples.blog.web;{version->0.3.0.SNAPSHOT}]
It seems that Aries Application has created an 'app'. That means that
it has been able to find it from the deploy directory of Apache Karaf.
Question : Why the bundles defined in the eba archive are not deployed
? Could it be related to the missing package that you find Aries
Blueprint Transaction ?
Regards,
Charles M.
On Fri, Jan 14, 2011 at 5:00 PM, Mark Nuttall<mnutt...@apache.org> wrote:
Hi Charles.
There are many exceptions in your trace - "Exception" is found 69
times, and I can't say for sure whether any of them are responsible
for the behaviour that you're seeing. However what jumps out at me is,
16:37:49,688 | DEBUG | -SNAPSHOT/deploy | ModelledResourceManagerImpl
| impl.ModelledResourceManagerImpl 121 | 232 -
org.apache.aries.application.modeller - 0.3.0.SNAPSHOT | Method exit:
getServiceElements, returning
org.apache.aries.application.modelling.ModellerException:
org.osgi.service.blueprint.container.ComponentDefinitionException:
Unsupported node namespace:
http://aries.apache.org/xmlns/transactions/v1.0.0
If you are trying use declarative transactions in your application's
blueprint files, then you will need to add the
org.apache.aries.transaction.blueprint bundle to your runtime.
Regards,
Mark
On 14 January 2011 15:43, Charles Moulliard<cmoulli...@gmail.com> wrote:
Here is the log file that I put in attachment and where I have set
org.apache.aries.application trace level to DEBUG. Maybe you will see
something that I don t see.
Remark : using debug of felix has not reported any error
On Fri, Jan 14, 2011 at 3:28 PM, Mark Nuttall<mnutt...@apache.org> wrote:
Hi Charles.
The PlatformRepository and LocalPlatform services were both in your
list of services that blueprint was waiting for. Since they're
started, please can you check to see if any of the other services
called out in your previous list have now been published? I'm puzzled
that your logs did not show some of your various service dependencies,
such as PlatformRepository and LocalPlatform, being met when those
services came up. Which if any of the required services are not being
published?
Regards,
Mark
On 14 January 2011 14:11, Charles Moulliard<cmoulli...@gmail.com> wrote:
Hi Mark,
All the Blueprint services have their status "started".
According to your first remark, it seems that the service is well
published and exported by OSGI Service
Apache Aries Application Platform Repository (234) provides:
------------------------------------------------------------
org.apache.aries.application.management.spi.repository.PlatformRepository
org.osgi.service.blueprint.container.BlueprintContainer
And for the second the service is also well exposed
Apache Aries Application Default local platform (233) provides:
---------------------------------------------------------------
org.apache.aries.application.management.spi.runtime.LocalPlatform
org.osgi.service.blueprint.container.BlueprintContainer
[ 233] [Active ] [Created ] [ ] [ 60] Apache Aries
Application Default local platform (0.3.0.SNAPSHOT)
[ 234] [Active ] [Created ] [ ] [ 60] Apache Aries
Application Platform Repository (0.3.0.SNAPSHOT)
Regards,
Charles
On Fri, Jan 14, 2011 at 1:29 PM, Mark Nuttall<mnutt...@apache.org> wrote:
Hello Charles.
First of all, please have a look at the bundles in your runtime to see
if any have failed to resolve. A missing package can easily set off a
chain of blueprint service dependency failures.
If all your bundles have resolved then we need to start unpicking the
service dependency failures. I'd start with,
org.apache.aries.blueprint - 0.3.0.SNAPSHOT | Bundle
org.apache.aries.application.resolver.obr is waiting for dependencies
[(objectClass=org.apache.aries.application.management.spi.repository.PlatformRepository)]
This service should have been published by
org.apache.aries.application.noop.platform.repo. The bundle is very
simple, with only two package imports: org.osgi.core and
org.apache.aries.application.api. Please have a look at that bundle in
the runtime and let us know why the expected service is not being
published.
The next bundle to check is
org.apache.aries.application.default.local.platform, which should be
publishing a service with interface
org.apache.aries.application.management.spi.runtime.LocalPlatform.
Again this is a very simple bundle with the same package imports as
the previous one. The output below indicates that neither bundle has
resolved and published its expected service.
Regards,
Mark
On 14 January 2011 11:42, Charles Moulliard<cmoulli...@gmail.com> wrote:
Hi,
I have installed the following bundles to be able to deploy an eab
archive on Karaf but nothing happens
[ 227] [Active ] [Created ] [ ] [ 60]
mvn:org.apache.aries.application/org.apache.aries.application.resolver.obr/0.3-SNAPSHOT
[ 228] [Active ] [Created ] [ ] [ 60]
mvn:org.apache.aries.application/org.apache.aries.application.install/0.3-SNAPSHOT
[ 229] [Active ] [ ] [ ] [ 60]
mvn:org.apache.aries.application/org.apache.aries.application.api/0.3-SNAPSHOT
[ 230] [Active ] [Created ] [ ] [ 60]
mvn:org.apache.aries.application/org.apache.aries.application.management/0.3-SNAPSHOT
[ 231] [Active ] [Created ] [ ] [ 60]
mvn:org.apache.aries.application/org.apache.aries.application.utils/0.3-SNAPSHOT
[ 232] [Active ] [Created ] [ ] [ 60]
mvn:org.apache.aries.application/org.apache.aries.application.modeller/0.3-SNAPSHOT
[ 233] [Active ] [Created ] [ ] [ 60]
mvn:org.apache.aries.application/org.apache.aries.application.default.local.platform/0.3-SNAPSHOT
[ 234] [Active ] [Created ] [ ] [ 60]
mvn:org.apache.aries.application/org.apache.aries.application.noop.platform.repo/0.3-SNAPSHOT
[ 235] [Active ] [Created ] [ ] [ 60]
mvn:org.apache.aries.application/org.apache.aries.application.noop.postresolve.process/0.3-SNAPSHOT
[ 236] [Active ] [Created ] [ ] [ 60]
mvn:org.apache.aries.application/org.apache.aries.application.deployment.management/0.3-SNAPSHOT
[ 237] [Active ] [Created ] [ ] [ 60]
mvn:org.apache.aries.application/org.apache.aries.application.runtime/0.3-SNAPSHOT
In the log file, I see that some dependencies are waiting but that is all :
12:37:56,149 | INFO | rint Extender: 3 | BlueprintContainerImpl
| container.BlueprintContainerImpl 305 | 8 -
org.apache.aries.blueprint - 0.3.0.SNAPSHOT | Bundle
org.apache.aries.application.resolver.obr is waiting for dependencies
[(objectClass=org.apache.aries.application.modelling.ModellingManager),
(objectClass=org.apache.aries.application.management.spi.repository.PlatformRepository),
(objectClass=org.apache.aries.application.modelling.utils.ModellingHelper)]
12:37:56,151 | INFO | rint Extender: 1 | BlueprintContainerImpl
| container.BlueprintContainerImpl 305 | 8 -
org.apache.aries.blueprint - 0.3.0.SNAPSHOT | Bundle
org.apache.aries.application.install is waiting for dependencies
[(objectClass=org.apache.aries.application.management.AriesApplicationManager)]
12:37:56,205 | INFO | rint Extender: 3 | BlueprintContainerImpl
| container.BlueprintContainerImpl 305 | 8 -
org.apache.aries.blueprint - 0.3.0.SNAPSHOT | Bundle
org.apache.aries.application.management is waiting for dependencies
[(objectClass=org.apache.aries.application.DeploymentMetadataFactory),
(objectClass=org.apache.aries.application.ApplicationMetadataFactory),
(objectClass=org.apache.aries.application.management.spi.resolve.DeploymentManifestManager),
(objectClass=org.apache.aries.application.management.spi.runtime.AriesApplicationContextManager),
(objectClass=org.apache.aries.application.management.spi.runtime.LocalPlatform)]
12:37:56,306 | INFO | rint Extender: 2 | BlueprintContainerImpl
| container.BlueprintContainerImpl 305 | 8 -
org.apache.aries.blueprint - 0.3.0.SNAPSHOT | Bundle
org.apache.aries.application.management is waiting for dependencies
[(objectClass=org.apache.aries.application.management.spi.resolve.DeploymentManifestManager),
(objectClass=org.apache.aries.application.management.spi.runtime.AriesApplicationContextManager),
(objectClass=org.apache.aries.application.management.spi.runtime.LocalPlatform)]
12:37:56,343 | INFO | rint Extender: 1 | BlueprintContainerImpl
| container.BlueprintContainerImpl 305 | 8 -
org.apache.aries.blueprint - 0.3.0.SNAPSHOT | Bundle
org.apache.aries.application.resolver.obr is waiting for dependencies
[(objectClass=org.apache.aries.application.management.spi.repository.PlatformRepository)]
12:37:56,397 | INFO | rint Extender: 2 | BlueprintContainerImpl
| container.BlueprintContainerImpl 305 | 8 -
org.apache.aries.blueprint - 0.3.0.SNAPSHOT | Bundle
org.apache.aries.application.deployment.management is waiting for
dependencies
[(objectClass=org.apache.aries.application.management.spi.resolve.PostResolveTransformer),
(objectClass=org.apache.aries.application.management.spi.runtime.LocalPlatform),
(objectClass=org.apache.aries.application.management.spi.resolve.AriesApplicationResolver)]
12:37:56,486 | INFO | rint Extender: 3 | BlueprintContainerImpl
| container.BlueprintContainerImpl 305 | 8 -
org.apache.aries.blueprint - 0.3.0.SNAPSHOT | Bundle
org.apache.aries.application.management is waiting for dependencies
[(objectClass=org.apache.aries.application.management.spi.resolve.DeploymentManifestManager),
(objectClass=org.apache.aries.application.management.spi.runtime.LocalPlatform)]
12:37:56,495 | INFO | rint Extender: 1 | BlueprintContainerImpl
| container.BlueprintContainerImpl 305 | 8 -
org.apache.aries.blueprint - 0.3.0.SNAPSHOT | Bundle
org.apache.aries.application.management is waiting for dependencies
[(objectClass=org.apache.aries.application.management.spi.resolve.DeploymentManifestManager)]
Regards,
Charles Moulliard
Sr. Principal Solution Architect - FuseSource
Apache Committer
Blog : http://cmoulliard.blogspot.com
Twitter : http://twitter.com/cmoulliard
Linkedin : http://www.linkedin.com/in/charlesmoulliard
Skype: cmoulliard
On Tue, Jan 11, 2011 at 9:24 PM, Charles Moulliard<cmoulli...@gmail.com> wrote:
How Aries Application Install knows that the folder to be scanned is "load" ?
How can we override this location>
On Tue, Jan 11, 2011 at 7:50 PM, Charles Moulliard<cmoulli...@gmail.com> wrote:
Many thanks for the complement of info. This help me to see all the
possibilities offered by Aries Application as I'min the process to
prepare a new Webinar where I will present much more Aries
functionalities available with Apache ServiceMix/Karaf
On Tue, Jan 11, 2011 at 1:07 PM, Jeremy Hughes<hugh...@apache.org> wrote:
On 3 January 2011 10:51, Charles Moulliard<cmoulli...@gmail.com> wrote:
Hi Mark,
Happy New-Year 2011 and many thanks for the information. I have
started to create a feature file to deploy those bundles on Apache
Karaf OSGI container. What do you plan to do to align Aries
Application with OSGI Service as you use a deprecated API ony
supported by Equinox and not Felix ?
Remark : Could you upgrade Aries Application to support Apache Felix
FileInstall range of version from 2.x to 3.x as we use 3.1.0 on Apache
Karaf ?
You could look at:
mavenBundle("org.apache.aries.application",
"org.apache.aries.application.install" ),
it has a single class: EBAInstaller which extends the fileinstall
ArtifactInstaller. It's used in the Blog sample - you go to a built
samples/blog/blog-assembly/target which includes the fileinstall bundle and
start Aries in a framework. The load dir is created and you drop and EBA
into it. Fileinstall delegates to the EBAInstaller to install the bundles
from the EBA.
HTH,
Jeremy
Regards,
Charles Moulliard
Sr. Principal Solution Architect - FuseSource
Apache Committer
Blog : http://cmoulliard.blogspot.com
Twitter : http://twitter.com/cmoulliard
Linkedin : http://www.linkedin.com/in/charlesmoulliard
Skype: cmoulliard
On Wed, Dec 29, 2010 at 11:00 AM, Mark Nuttall<mnutt...@apache.org>
wrote:
Hi Charles,
1) Can someone tell me what are the bundles required to deploy eba
files on Apache Karaf/Felix ? groupId/artificactId
For some working examples, please see
application/application-itests/src/test/java/IsolatedRuntimeTest.java,
and the three BlogSampleWithEba itests, such as
samples/blog/blog-itests/JpaBlogSampleWithEbaTest.java
Firstly there is a set of common prereqs, where the arguments to
mavenBundle are (group, artifact):
mavenBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint"
),
mavenBundle("org.apache.aries.proxy", "org.apache.aries.proxy"),
mavenBundle("org.apache.aries", "org.apache.aries.util" ),
mavenBundle("org.apache.felix", "org.apache.felix.bundlerepository"),
There there's a set of common bundles in the org.apache.aries.application
group:
mavenBundle("org.apache.aries.application",
"org.apache.aries.application.resolver.obr"),
mavenBundle("org.apache.aries.application",
"org.apache.aries.application.install" ),
mavenBundle("org.apache.aries.application",
"org.apache.aries.application.api" ),
mavenBundle("org.apache.aries.application",
"org.apache.aries.application.management" ),
mavenBundle("org.apache.aries.application",
"org.apache.aries.application.utils" ),
mavenBundle("org.apache.aries.application",
"org.apache.aries.application.modeller"),
mavenBundle("org.apache.aries.application",
"org.apache.aries.application.default.local.platform"),
mavenBundle("org.apache.aries.application",
"org.apache.aries.application.noop.platform.repo"),
mavenBundle("org.apache.aries.application",
"org.apache.aries.application.noop.postresolve.process"),
mavenBundle("org.apache.aries.application",
"org.apache.aries.application.deployment.management"),
Finally we have two different runtimes.
mavenBundle("org.apache.aries.application",
"org.apache.aries.application.runtime" ),
is very simple: it just installs every bundle into a single framework.
It provides no isolation between different .ebas, and was really only
written so as to demonstrate that
org.apache.aries.application.management was functional. I don't
believe anyone's put this runtime to serious use yet.
Alternatively, the next group of bundles provide a far more rugged and
functional runtime environment, in which the bundles listed in each
application's Application-Content header are isolated from each other
by being installed into their own framework. The only drawback here is
that org.apache.aries.application.runtime.framework has to use
deprecated APIs based on early drafts of OSGi RFC138
(org.osgi.service.framework.CompositeBundle,
org.osgi.service.framework.CompositeBundleFactory) in order to create
and manage these framework instances. My understanding is that Equinox
implements these APIs, but that the Felix does not.
mavenBundle("org.apache.aries.application",
"org.apache.aries.application.runtime.isolated"),
mavenBundle("org.apache.aries.application",
"org.apache.aries.application.runtime.framework"),
mavenBundle("org.apache.aries.application",
"org.apache.aries.application.runtime.framework.management"),
mavenBundle("org.apache.aries.application",
"org.apache.aries.application.runtime.repository"),
equinox().version("3.5.0"));
2) Can we deploy an eba file using the same command as we use to
deploy a bundle mvn:groupId/artifactId/version/eba ?
I suspect that extra work might be required in order to achieve that.
As you'll see from the itests, the mechanism today is of the form,
URL urlToEba = getUrlToEba("org.apache.aries.samples.blog",
"org.apache.aries.samples.blog.jpa.eba");
AriesApplicationManager manager =
getOsgiService(AriesApplicationManager.class);
AriesApplication app = manager.createApplication(urlToEba);
AriesApplicationContext ctx = manager.install(app);
ctx.start();
Do let us know how you get on!
Regards,
Mark
On 27 December 2010 09:03, Charles Moulliard<cmoulli...@gmail.com>
wrote:
Hi,
1) Can someone tell me what are the bundles required to deploy eba
files on Apache Karaf/Felix ?
groupId/artificactId
2) Can we deploy an eba file using the same command as we use to
deploy a bundle mvn:groupId/artifactId/version/eba ?
Charles Moulliard
Sr. Principal Solution Architect - FuseSource
Apache Committer
Blog : http://cmoulliard.blogspot.com
Twitter : http://twitter.com/cmoulliard
Linkedin : http://www.linkedin.com/in/charlesmoulliard
Skype: cmoulliard