Changeset 29


Ignore:
Timestamp:
05/30/13 12:47:17 (11 years ago)
Author:
stoda
Message:

Singleton didn't worked in parallel threads solved adding synchronized.
Num threads by property added.
Example with different threads added.

Location:
trunk/objectmq
Files:
6 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/objectmq/src/omq/common/broker/Broker.java

    r27 r29  
    101101        }
    102102
    103         private static void initClient(Properties environment) throws Exception {
     103        private static synchronized void initClient(Properties environment) throws Exception {
    104104                if (ResponseListener.isVoid()) {
    105105                        ResponseListener.init(environment);
  • trunk/objectmq/src/omq/server/remote/request/RemoteObject.java

    r24 r29  
    7171
    7272                // Get num threads to use
    73                 int numThreads = 4;// Integer.parseInt(env.getProperty(ParameterQueue.NUM_THREADS));
     73                int numThreads = Integer.parseInt(env.getProperty(ParameterQueue.NUM_THREADS, "1"));
    7474                remoteWrapper = new RemoteWrapper(this, numThreads);
    7575
  • trunk/objectmq/src/omq/server/remote/request/RemoteWrapper.java

    r9 r29  
    2424                invocationList = new ArrayList<InvocationThread>();
    2525                deliveryQueue = new LinkedBlockingDeque<QueueingConsumer.Delivery>();
     26
     27                System.out.println("RemoteWrapper -> Object: " + obj.getRef() + ", numthreads listening = " + numThreads);
     28
    2629                for (int i = 0; i < numThreads; i++) {
    2730                        InvocationThread thread = new InvocationThread(obj, deliveryQueue);
  • trunk/objectmq/test/test2/Car.java

    r28 r29  
    77import omq.client.annotation.RemoteInterface;
    88import omq.client.annotation.SyncMethod;
     9import omq.exception.RemoteException;
    910
    1011@RemoteInterface
     
    2829        public List<Rim> getRims();
    2930
     31        @AsyncMethod
     32        public void setMobile(String mobile) throws RemoteException;
     33
     34        @SyncMethod
     35        public String getMobile();
     36
    3037}
  • trunk/objectmq/test/test2/CarImpl.java

    r28 r29  
    33import java.util.List;
    44
     5import omq.common.broker.Broker;
     6import omq.exception.RemoteException;
    57import omq.server.remote.request.RemoteObject;
    68
     
    1416        private int hp;
    1517        private List<Rim> rims;
     18        private Mobile mobile;
    1619
    1720        @Override
     
    2730        @Override
    2831        public void setHP(int hp) {
    29        
     32                this.hp = hp;
    3033        }
    3134
    3235        @Override
    3336        public int getHP() {
    34                 // TODO Auto-generated method stub
    35                 return 0;
     37                return hp;
    3638        }
    3739
    3840        @Override
    3941        public void setRims(List<Rim> rims) {
    40                 // TODO Auto-generated method stub
    41 
     42                this.rims = rims;
    4243        }
    4344
    4445        @Override
    4546        public List<Rim> getRims() {
    46                 // TODO Auto-generated method stub
    47                 return null;
     47                return rims;
    4848        }
     49
     50        @Override
     51        public void setMobile(String mobile) throws RemoteException {
     52                this.mobile = (Mobile) Broker.lookup(mobile, Mobile.class);
     53        }
     54
     55        @Override
     56        public String getMobile() {
     57                return mobile.getRef();
     58        }
     59
    4960}
Note: See TracChangeset for help on using the changeset viewer.