We do no recommend to register deployers programmatically. The recommended
approach is to declare them in the component.xml. This allows Carbon kernel
to read and register deployers before initializing Apache Axis2 engine. If
you register deployers programmatically, Carbon kernel does not have any
control. Your artifacts may get deployed after server has been started.
I.e. after the transports are started.

The above approach perfectly fits if the deployers do not get added or
removed dynamically. But in your case, we cannot predict the number of
deployers. I.e. for every new virtual host, there will be a new webapp
deployer. Therefore we cannot list all the deployers in the component.xml.
Now we need to come up with a solution to support this requirement.

Thanks,
Sameera.



On Mon, Jun 2, 2014 at 2:43 PM, Kasun Gajasinghe <kas...@wso2.com> wrote:

>
>
>
> On Mon, Jun 2, 2014 at 2:05 PM, Nipuni Perera <nip...@wso2.com> wrote:
>
>> I didn't change the default deployer. I only read appBase values of
>> virtual hosts and added them to the deployment engine. But the webapp
>> deployment take place just after management console is started.
>>
>>
> This happens if the deployers got added after axis2 has started IIRC. So,
> we need to make sure of the order. But unfortunately, we do not have a
> proper way to force this order currently.
>
> @Sameera, any ideas?
>
>
>> Thanks,
>> Nipuni
>>
>>
>> On Mon, Jun 2, 2014 at 12:28 PM, Kasun Gajasinghe <kas...@wso2.com>
>> wrote:
>>
>>>
>>> I do not think that you should remove the default webapp deployer from
>>> component.xml. Your should be in effect only for the additional virtual
>>> hosts.
>>>
>>>
>>> On Mon, Jun 2, 2014 at 9:25 AM, Nipuni Perera <nip...@wso2.com> wrote:
>>>
>>>> Hi,
>>>>
>>>> This is working. This was due to an ip address conflict.
>>>>
>>>> Thanks,
>>>> Nipuni
>>>>
>>>>
>>>> On Sun, Jun 1, 2014 at 3:41 PM, Nipuni Perera <nip...@wso2.com> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I am working on the $subject. According to the current implementation
>>>>> users has to put webapps inside repositro/depolment/server/webapss and
>>>>> access them via host name "localhost" only. I have modified
>>>>> carbontomcat.java to deploy webapps in a location defined inside appBase 
>>>>> of
>>>>> virtualhosts. But this needs to add an entry to component.xml to direct 
>>>>> the
>>>>> name of webapps directory to the relevent WebAppDeployer class. (Adding an
>>>>> entry to component.xml each time a new appBase is created is not 
>>>>> preferred)
>>>>>
>>>>> I have tried following steps when adding deployers to deployment
>>>>> engine without reading component.xml file. When reading component.xml 
>>>>> file,
>>>>> the Axis2DeployerRegistry class adds the deployers and relevant directory
>>>>> names to a deploymentEngine. In order to skip reading component.xml,
>>>>> deployment engine should be updated using the virtual host appBase values
>>>>> and deployer names.
>>>>>
>>>>> *Scenario 1*
>>>>>
>>>>>
>>>>>    1.     I created a new service component class inside
>>>>>    /org/wso2/carbon/webapp/deployer/internal/ and added following,
>>>>>
>>>>>                                  CarbonTomcatService
>>>>> carbonTomcatService = DataHolder.getCarbonTomcatService();
>>>>>                                  DeploymentEngine deploymentEngine =
>>>>> (DeploymentEngine)(DataHolder.getServerConfigContext().getAxisConfiguration()).getConfigurator();
>>>>>
>>>>>              This gave null values to both variables.
>>>>> ("serverConfigContext" and "carbonTomcatService" variables initialize
>>>>> inside service components in /org/wso2/carbon/webapp/mgt/internal. So it
>>>>> seems the newly created service component classes executes first)
>>>>>
>>>>> *Scenario 2*
>>>>>
>>>>>    1.  I have created a new OSGI bundle which tries to read above two
>>>>>    variables inside its Activator class and service component class. I 
>>>>> could
>>>>>    read proper values inside the service component class and update 
>>>>> deployment
>>>>>    engine. But according to logs, this executes after starting the wso2
>>>>>    carbon.  But, the following statement does deploy the webapps inside 
>>>>> the
>>>>>    appBase.
>>>>>
>>>>>                                 deploymentEngine.addDeployer(deployer,
>>>>> directory, extension);
>>>>>
>>>>> But I am able to access webapps using host name "localhost" only,
>>>>> What could be the issue here?
>>>>>
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Nipuni
>>>>>
>>>>>
>>>>> --
>>>>> Nipuni Perera
>>>>> Software Engineer; WSO2 Inc.; http://wso2.com
>>>>> Email: nip...@wso2.com
>>>>> Git hub profile: https://github.com/nipuni
>>>>> Mobile: +94 (71) 5626680
>>>>> <http://wso2.com>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Nipuni Perera
>>>> Software Engineer; WSO2 Inc.; http://wso2.com
>>>> Email: nip...@wso2.com
>>>> Git hub profile: https://github.com/nipuni
>>>> Mobile: +94 (71) 5626680
>>>> <http://wso2.com>
>>>>
>>>>
>>>
>>>
>>> --
>>>
>>> *Kasun Gajasinghe*Senior Software Engineer, WSO2 Inc.
>>> email: kasung AT spamfree wso2.com
>>> linked-in: http://lk.linkedin.com/in/gajasinghe
>>> blog: http://kasunbg.org
>>>
>>>
>>>
>>
>>
>>
>> --
>> Nipuni Perera
>> Software Engineer; WSO2 Inc.; http://wso2.com
>> Email: nip...@wso2.com
>> Git hub profile: https://github.com/nipuni
>> Mobile: +94 (71) 5626680
>> <http://wso2.com>
>>
>>
>
>
> --
>
> *Kasun Gajasinghe*Senior Software Engineer, WSO2 Inc.
> email: kasung AT spamfree wso2.com
> linked-in: http://lk.linkedin.com/in/gajasinghe
> blog: http://kasunbg.org
>
>
>



-- 
Sameera Jayasoma,
Software Architect,

WSO2, Inc. (http://wso2.com)
email: same...@wso2.com
blog: http://sameera.adahas.org
twitter: https://twitter.com/sameerajayasoma
flickr: http://www.flickr.com/photos/sameera-jayasoma/collections
Mobile: 0094776364456

Lean . Enterprise . Middleware
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to