You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "Simon Laws (JIRA)" <tu...@ws.apache.org> on 2007/09/05 01:30:45 UTC
[jira] Assigned: (TUSCANY-1660) @Conversational + @Scope("REQUEST")
Failed on java.lang.ClassCastException: java.lang.String incompatible with
java.lang.Thread
[ https://issues.apache.org/jira/browse/TUSCANY-1660?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Simon Laws reassigned TUSCANY-1660:
-----------------------------------
Assignee: Simon Laws
> @Conversational + @Scope("REQUEST") Failed on java.lang.ClassCastException: java.lang.String incompatible with java.lang.Thread
> --------------------------------------------------------------------------------------------------------------------------------
>
> Key: TUSCANY-1660
> URL: https://issues.apache.org/jira/browse/TUSCANY-1660
> Project: Tuscany
> Issue Type: Bug
> Affects Versions: Java-SCA-0.99
> Environment: WindowsXP, IBM JDK5
> Reporter: Jun JIe Nan
> Assignee: Simon Laws
> Fix For: Java-SCA-0.99
>
>
> I tried to make some sense on @Conversational and @Scope("REQUEST"), but failed. The error message:
> java.lang.ClassCastException: java.lang.String incompatible with java.lang.Thread
> at org.apache.tuscany.sca.core.scope.RequestScopeContainer.getWrapper (RequestScopeContainer.java:35)
> at org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.getInstance(JavaImplementationInvoker.java:62)
> at org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke (JavaImplementationInvoker.java:85)
> at org.apache.tuscany.sca.binding.sca.impl.RuntimeSCABindingInvoker.invoke(RuntimeSCABindingInvoker.java:48)
> at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke (JDKInvocationHandler.java:270)
> at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:114)
> at $Proxy9.empty(Unknown Source)
> at samples.hex.HexTest.testCartService (HexTest.java:77)
> I tried:
> 1. @Conversational + @Scope("STATELESS")
> 2. @Conversational + @Scope("CONVERSATION")
> 3. @Conversational + @Scope("COMPOSITE")
> All the above 3 worked fine and did not have the error message above.
> Anybody can give me some hints, thanks!
> The component definition:
> <component name="CartComponent">
> <implementation.java class="samples.hex.cart.impl.CartImpl"/>
> </component>
> The implementation:
> package samples.hex.cart.impl;
> import java.util.HashMap;
> import java.util.Map;
> import org.osoa.sca.annotations.ConversationID;
> import org.osoa.sca.annotations.Destroy;
> import org.osoa.sca.annotations.Init;
> import org.osoa.sca.annotations.Scope;
> import org.osoa.sca.annotations.Service;
> import samples.hex.cart.services.CartService;
> @Scope("REQUEST")
> @Service(CartService.class)
> public class CartImpl implements CartService {
>
> @ConversationID
> protected String conversationID;
> protected Map<String, Integer> cart;
> @Init
> protected void init(){
> if(cart==null)
> cart = new HashMap<String, Integer>();
> }
>
> public void empty() {
> cart.clear();
> }
> public Map<String, Integer> getItems() {
> return cart;
> }
> public void updateItem(String itemID, int quantity) {
> if(quantity<=0)
> cart.remove(itemID);
> cart.put(itemID, quantity);
> System.out.println (conversationID + ":" + this);
> }
> @Destroy
> protected void destroy(){
> empty();
> }
> }
> The interface:
> package samples.hex.cart.services;
> import java.util.Map ;
> import org.osoa.sca.annotations.Conversational;
> @Conversational
> public interface CartService{
> public void updateItem(String itemID, int quantity);
> public void empty();
> public Map<String, Integer> getItems();
> }
> The Test Code:
> @Test
> public void testCartService(){
> CartService cart = hex.getService(CartService.class, "CartComponent/CartService");
> assertNotNull(cart);
> cart.empty();
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org