Uwe Barthel created KARAF-2420:
----------------------------------

             Summary: blueprint deployer: redeploy blueprint xml in deploy 
folder after restart
                 Key: KARAF-2420
                 URL: https://issues.apache.org/jira/browse/KARAF-2420
             Project: Karaf
          Issue Type: Bug
          Components: karaf-core
    Affects Versions: 2.2.11, 2.2.8
         Environment: Karaf 2.2.11
HSQLDB 2.3.0
            Reporter: Uwe Barthel
             Fix For: 2.2.12


1) Start clean Karaf instance
2) Install HSQLDB via:
{code}
karaf@root> bundle:install -s mvn:org.hsqldb/hsqldb
{code}
3) Copy attached blueprint {{Datasource}} service description into {{deploy/}} 
folder and check if the blueprint deployer creates a bundle.
4) Stop Karaf instance
5) Start Karaf

The blueprint container got the installed {{Datasource}} service bundle:
{code}
2013-07-30 23:12:53,804 | DEBUG | FelixStartLevel  | BlueprintExtender          
      | 9 - org.apache.aries.blueprint - 0.3.2 | Scanning bundle datasource.xml 
for blueprint application
2013-07-30 23:12:53,805 | DEBUG | FelixStartLevel  | BlueprintExtender          
      | 9 - org.apache.aries.blueprint - 0.3.2 | Found blueprint application in 
bundle datasource.xml with paths: 
[bundle://59.0:0/OSGI-INF/blueprint/datasource.xml]
{code}
and exports the {{Datasource}} service.

The {{fileinstall}} on {{deploy/}} folder found the initially blueprint 
{{Datasource}} service XML file:
{code}
2013-07-30 23:12:55,827 | INFO  | af-2.2.11/deploy | fileinstall                
      | 6 - org.apache.felix.fileinstall - 3.2.4 | Installed 
/home/barthel/work/app/apache-karaf-2.2.11/deploy/datasource.xml
{code}
and redeploying it.
{code}
2013-07-30 23:12:55,875 | DEBUG | elixPackageAdmin | BlueprintExtender          
      | 9 - org.apache.aries.blueprint - 0.3.2 | Destroying BlueprintContainer 
for bundle datasource.xml
2013-07-30 23:12:55,881 | DEBUG | elixPackageAdmin | BlueprintEventDispatcher   
      | 9 - org.apache.aries.blueprint - 0.3.2 | Sending blueprint container 
event BlueprintEvent[type=DESTROYING] for bundle datasource.xml
2013-07-30 23:12:55,882 | DEBUG | elixPackageAdmin | BlueprintEventDispatcher   
      | 9 - org.apache.aries.blueprint - 0.3.2 | Sending blueprint container 
event BlueprintEvent[type=DESTROYED] for bundle datasource.xml
{code}
{code}
2013-07-30 23:12:55,951 | INFO  | af-2.2.11/deploy | fileinstall                
      | 6 - org.apache.felix.fileinstall - 3.2.4 | Started bundle: 
blueprint:file:/home/barthel/work/app/apache-karaf-2.2.11/deploy/datasource.xml
{code}
{code}
2013-07-30 23:12:58,174 | DEBUG | rint Extender: 2 | BlueprintContainerImpl     
      | 9 - org.apache.aries.blueprint - 0.3.2 | Running blueprint container 
for bundle datasource.xml in state Unknown
2013-07-30 23:12:58,174 | DEBUG | rint Extender: 2 | BlueprintEventDispatcher   
      | 9 - org.apache.aries.blueprint - 0.3.2 | Sending blueprint container 
event BlueprintEvent[type=CREATING] for bundle datasource.xml
{code}
{code}
2013-07-30 23:12:58,197 | DEBUG | rint Extender: 2 | ServiceRecipe              
      | 9 - org.apache.aries.blueprint - 0.3.2 | Registering service 
.component-1 with interfaces [javax.sql.DataSource] and properties 
{osgi.service.blueprint.compname=dataSource, osgi.jndi.service.name=jdbc/hsqlds}
{code}

*Problem*
If a blueprint service bundle is installed depending on the {{Datasource}} 
service. This bundle may or may not start depending of the {{Datasource}} 
service state. It's a timing issue and difficult to reproduce with a simple 
test case.

*temp. Solution*
1) Stop Karaf
2) Remove blueprint xml file from {{deploy/}}
3) Start Karaf

*Solution*
Create {{.timestamp}} file for blueprint service xml files and don't redeploy 
the xml if these files wasn't touch.
Like the KAR deployer does.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to