geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ivan <xhh...@gmail.com>
Subject Re: Maintain a Artifact-Bundle or Location-Bundle Map in Geronimo
Date Mon, 26 Oct 2009 07:49:32 GMT
Thanks, David !

2009/10/26 David Jencks <david_jencks@yahoo.com>

>
> On Oct 26, 2009, at 12:28 AM, Ivan wrote:
>
> In the ActiveMQ portlet, the constructor of ConnectorDeployable is changed,
> it needs the geronimo-activemq-ra bundle to install the JMS resource.
>
> --- geronimo/server/trunk/plugins/
> activemq/activemq-portlets/src/main/java/org/apache/geronimo/console/jmsmanager/wizard/AbstractHandler.java
> (original)
> +++
> geronimo/server/trunk/plugins/activemq/activemq-portlets/src/main/java/org/apache/geronimo/console/jmsmanager/wizard/AbstractHandler.java
> Mon Oct 26 02:45:29 2009
> @@ -56,6 +56,7 @@
>  import org.apache.geronimo.deployment.tools.loader.ConnectorDeployable;
>  import org.apache.geronimo.kernel.repository.Artifact;
>  import org.apache.geronimo.naming.deployment.jsr88.GBeanLocator;
> +import org.osgi.framework.Bundle;
>  import org.slf4j.Logger;
>  import org.slf4j.LoggerFactory;
>
> @@ -495,7 +496,8 @@
>             DeploymentManager mgr =
> ManagementHelper.getManagementHelper(request).getDeploymentManager();
>             try {
>                 File rarFile = PortletManager.getRepositoryEntry(request,
> data.getRarURI());
> -                ConnectorDeployable deployable = new
> ConnectorDeployable(rarFile.toURL());
> +                Bundle rarBundle =
> PortletManager.getRepositoryEntryBundle(request, data.getRarURI());
> +                ConnectorDeployable deployable = new
> ConnectorDeployable(rarBundle);
>                 DeploymentConfiguration config =
> mgr.createConfiguration(deployable);
>                 final DDBeanRoot ddBeanRoot = deployable.getDDBeanRoot();
>                 Connector15DCBRoot root = (Connector15DCBRoot)
> config.getDConfigBeanRoot(ddBeanRoot);
>
>
> Using a bundle here may or may not be a good idea.  However, we're talking
> about installing a rar as a javaee app here, not deploying an osgi bundle.
>  There will never be a installed bundle for this rar file, only for already
> deployed instances of it.  We could create a temporary bundle for the rar
> file, but we should be sure to uninstall it as soon as we are done peeking
> inside.  So, any kind of information about already installed bundles would
> be irrelevant.
>
> thanks
> david jencks
>
>
>
> 2009/10/26 David Jencks <david_jencks@yahoo.com>
>
>>
>> On Oct 25, 2009, at 8:31 PM, Ivan wrote:
>>
>>  Hi:
>>>    While working with the code refactoring of some plug-ins, it seems
>>> that I did not have a way to get a Bundle object via Artifact.
>>>    Is it possible for us to maintain a artifact-bundle or location-bundle
>>> map for those bundles loaded by Geronimo (More accurately, I mean the
>>> DependencyManager),  so that we could more easily to know whether the bundle
>>> is installed, and we could get the bundle object.
>>>    Any comment ?
>>>
>>
>> The KernelConfigurationManager has a map of Artifact to Configuration from
>> which you can get the BundleContext and thence the Bundle.  This only tells
>> you about the plugins that are loaded, not all the jars that are installed.
>>  In the DependencyManager so far I've relied on the mvn artifact urls to
>> convert the artifact to a location string and compared that to the locations
>> of the installed bundles.
>>
>> What are you working on that you need this?
>>
>> thanks
>> david jencks
>>
>>  --
>>> Ivan
>>>
>>
>>
>
>
> --
> Ivan
>
>
>


-- 
Ivan

Mime
View raw message