Hi Kunle,

The ClassLoader issue that Raymond pointed out is about supporting only
relative contribution paths for the @location attribute. As the earlier code
was supporting paths outside of contributions for the @location attribute.

And this issue is being addressed in version 1.5.1 of Tuscany.

On Fri, Oct 23, 2009 at 12:15 AM, Kunle Gbadamosi <kgbadam...@gmail.com>wrote:

> Ramkumar,
> While browsing through the mailing list archives, I noticed that Raymond
> had a similar observation a while back.
>
>
> http://mail-archives.apache.org/mod_mbox/tuscany-dev/200906.mbox/%3cacac0e3516134e2686e8f55185b1e...@rfengt61p%3e
>
>
> So I guess the question is - Does the current Spring Implementation
> (@location) support loading application-context from Classpath ? Is there a
> Classloader issue with this approach ?
>
>
>
> Thanks,
> Kunle.
>
>
>
>
>
>
> On Thu, Oct 22, 2009 at 6:47 AM, Kunle Gbadamosi <kgbadam...@gmail.com>wrote:
>
>> Hi Ramkumar,
>>
>> It resides outside the jar. MyApp.jar is a complete Spring+Hibernate
>> application, unaware of SCA. The idea is to SCA-enable it by creating
>> another webapp called MySCAApp.war that includes -
>> resources/
>>    AccountMgt.composite (src)
>> webapp/
>>    META-INF/
>>       sca-contribution.xml
>>    WEB-INF/
>>       classes/
>>          AccountMgt.composite
>>       lib/
>>          MyApp.jar
>>          .... (other jars)
>>       web.xml
>>
>>
>> And then have AccountMgt.composite load the application-context -
>>
>> <component name="AccountManagementServiceComponent">
>>      <implementation.spring location="./application-context.xml"/>
>>      <service name="AccountManagementService">
>>          <interface.java interface="com.mycompany.BusinessService"/>
>>      </service>
>> </component>
>>
>> Locating the application-context (in the classpath) this way is what is
>> difficult. Meanwhile I can do the same in a test class simply by doing -
>>  new ClassPathXmlApplicationContext(new
>> String[]{"application-context.xml"});
>>
>>
>> Thanks,
>> Kunle
>>
>>
>>
>> On Thu, Oct 22, 2009 at 1:48 AM, Ramkumar R <ramkumar...@gmail.com>wrote:
>>
>>> Hi Kunle,
>>>
>>> Is your SCA composite residing within the MyApp.jar? OR does it remain
>>> outside the MyApp.jar file?
>>>
>>>
>>> On Thu, Oct 22, 2009 at 9:30 AM, Kunle Gbadamosi 
>>> <kgbadam...@gmail.com>wrote:
>>>
>>>> No, I tried that and it still can't find it.
>>>>
>>>>
>>>>
>>>>
>>>> On Wed, Oct 21, 2009 at 11:36 PM, Luciano Resende <luckbr1...@gmail.com
>>>> > wrote:
>>>>
>>>>> On Wed, Oct 21, 2009 at 8:11 PM, Kunle Gbadamosi <kgbadam...@gmail.com>
>>>>> wrote:
>>>>> > Hi All,
>>>>> > We have a Spring Composite that we would like to expose as Web
>>>>> Service using
>>>>> > Tuscany. The Spring application (Spring + Hibernate) is unaware of
>>>>> SCA and
>>>>> > the application-context resides in the JAR. Here is what the
>>>>> structure of of
>>>>> > the MyApp.jar looks like -
>>>>> >> com.mycompany.account.das...
>>>>> >> META-INF
>>>>> >> application-context.xml
>>>>> >> config.properties
>>>>> >> spring-dao.xml
>>>>> > The application-context imports other dependent Spring config
>>>>> already, so if
>>>>> > I include this MyApp.jar in my classpath in a new eclipse project, I
>>>>> can do
>>>>> > a quick Java Test in 3 lines as follows -
>>>>> >
>>>>> > ApplicationContext ctx = new ClassPathXmlApplicationContext(new
>>>>> String[]
>>>>> > {"application-context.xml"});
>>>>> >
>>>>> > BusinessService service = (BusinessService)
>>>>> ctx.getBean("accountService");
>>>>> >
>>>>> > service.sayHello("Kunle");
>>>>> >
>>>>> > Moving to Tuscany, I have a simple composite as follows -
>>>>> >
>>>>> > <component name="AccountManagementServiceComponent">
>>>>> >
>>>>> >     <implementation.spring location="./application-context.xml"/>
>>>>> >
>>>>> >     <service name="AccountManagementService">
>>>>> >
>>>>> >         <interface.java interface="com.mycompany.BusinessService"/>
>>>>> >
>>>>> >     </service>
>>>>> >
>>>>> > </component>
>>>>> >
>>>>> > For some reason, Tuscany cannot resolve the Location of the
>>>>> > application-context (in a JAR file in the classpath). We keep getting
>>>>> the
>>>>> > following error -
>>>>> >
>>>>> > Exception in thread "main" org.osoa.sca.ServiceRuntimeException:
>>>>> >
>>>>> org.apache.tuscany.sca.contribution.service.ContributionResolveException:
>>>>> >
>>>>> org.apache.tuscany.sca.contribution.service.ContributionReadException:
>>>>> > Location cannot be resloved: /application-context.xml
>>>>> >
>>>>> > at
>>>>> org.apache.tuscany.sca.node.impl.NodeImpl.<init>(NodeImpl.java:204)
>>>>> >
>>>>> > at
>>>>> >
>>>>> org.apache.tuscany.sca.node.impl.NodeFactoryImpl.createSCANodeFromClassLoader(NodeFactoryImpl.java:37)
>>>>> >
>>>>> > We would appreciate any help we can get. This is really holding us
>>>>> back.
>>>>> >
>>>>> > Thanks,
>>>>> >
>>>>> > Kunle.
>>>>> >
>>>>>
>>>>> Does it make any difference if you remove the "./"  from the
>>>>> implementation.spring in the composite
>>>>>
>>>>> <implementation.spring location="application-context.xml"/>
>>>>>
>>>>>
>>>>> --
>>>>> Luciano Resende
>>>>> http://people.apache.org/~lresende<http://people.apache.org/%7Elresende>
>>>>> http://lresende.blogspot.com/
>>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> Thanks & Regards,
>>> Ramkumar Ramalingam
>>>
>>
>>
>


-- 
Thanks & Regards,
Ramkumar Ramalingam

Reply via email to