Oh :) Please make sure that you always use the latest MSF4J version.

On Mon, Jan 15, 2018 at 3:34 PM, Irshad Nilam <[email protected]> wrote:

> Hi Azeez
>
> The code you shared does not work as expected in MSF4J 2.0.0. This is an
> issue in MSF4J 2.0.0. [1]
>
> I was using MSF4J 2.0.0 version for my initial implementation.
>
> It is working fine with the latest version.
>
> Thanks
>
> https://github.com/wso2/msf4j/issues/483
>
> On Wed, Jan 10, 2018 at 9:57 AM, Irshad Nilam <[email protected]> wrote:
>
>> Hi Azeez and Thusitha,
>>
>> I must have had problems because of starting separate threads. Thanks for
>> pointing that out, I'll follow this approach and will update this thread.
>>
>> Thanks and Regards.
>>
>> On Wed, Jan 10, 2018 at 1:27 AM, Thusitha Thilina Dayaratne <
>> [email protected]> wrote:
>>
>>> Hi Irshad,
>>>
>>> As Azeez mentioned this should work out of the box. We are doing same
>>> thing in our test cases as well[1]. You don't have to create a separate
>>> thread since MicroserveRunner internals will do that for you.
>>>
>>> [1] - https://github.com/wso2/msf4j/blob/master/core/src/test/java
>>> /org/wso2/msf4j/HttpServerTest.java#L125
>>>
>>> Thanks
>>> Thusitha
>>>
>>> On Tue, Jan 9, 2018 at 8:40 PM, Afkham Azeez <[email protected]> wrote:
>>>
>>>> I tried the following and things worked as expected.
>>>>
>>>> @Path("/hello")
>>>> public class HelloService {
>>>>
>>>>     private String id;
>>>>
>>>>     public HelloService(String id) {
>>>>         this.id = id;
>>>>     }
>>>>
>>>>     @GET
>>>>     @Path("/{name}")
>>>>     public String hello(@PathParam("name") String name) {
>>>>         System.out.println("Hello");
>>>>         return "Hello " + name + " from " + id;
>>>>     }
>>>> }
>>>>
>>>> ---------
>>>>
>>>> public class Application {
>>>>     public static void main(String[] args) {
>>>>         new MicroservicesRunner(8080)
>>>>                 .deploy(new HelloService("1"))
>>>>                 .start();
>>>>         new MicroservicesRunner(8081)
>>>>                 .deploy(new HelloService("2"))
>>>>                 .start();
>>>>         new MicroservicesRunner(8082)
>>>>                 .deploy(new HelloService("3"))
>>>>                 .start();
>>>>         new MicroservicesRunner(8083)
>>>>                 .deploy(new HelloService("4"))
>>>>                 .start();
>>>>    }
>>>> }
>>>> ---
>>>>
>>>> Is that not working for you as expected?
>>>>
>>>> On Tue, Jan 9, 2018 at 12:26 PM, Irshad Nilam <[email protected]> wrote:
>>>>
>>>>> Hi all,
>>>>>
>>>>> I am working on integration test for 4 microservices written in MSF4J.
>>>>>
>>>>> 1 - A Microservice
>>>>> 2 - B Microservice
>>>>> 3 - C Microservice
>>>>> 4 - D Microservice
>>>>>
>>>>> These are implemented in a way to deploy them separately.
>>>>>
>>>>> Application code (where we deploy the microservice using microservice
>>>>> runner) will look similar to this.
>>>>>
>>>>>
>>>>> public class Application {
>>>>>
>>>>>
>>>>>     public static void main(String[] args) {
>>>>>
>>>>>         Application application = new Application();
>>>>>         application.runMS(8081);
>>>>>
>>>>>     }
>>>>>
>>>>>     public void runMS(int port) {
>>>>>
>>>>>         MicroservicesRunner msRunner = new MicroservicesRunner(port);
>>>>>
>>>>>         msRunner.deploy(new AService())
>>>>>
>>>>>                 .addExceptionMapper(
>>>>>                         new AKeyExceptionMapper(),
>>>>>                         new AExceptionMapper(),
>>>>>                         new NotFoundExceptionMapper())
>>>>>                 .start();
>>>>>
>>>>> }
>>>>> }
>>>>>
>>>>>
>>>>> For the integration test, I want to start these four microservices
>>>>> with the exception mappers. To achieve this, I tried to start this
>>>>> microservice in separate threads as bellow. (in TestNG Suite)
>>>>>
>>>>> //Run A microservice
>>>>> new Thread(() -> new pathtoA.Application().runMS(8081)).start();
>>>>>
>>>>> //Run B microservice
>>>>> new Thread(() -> new pathtoB.Application().runMs(8082)).start();
>>>>>
>>>>> //Run C microservice
>>>>> new Thread(() -> new pathtoC.Application().runMs(8083)).start();
>>>>>
>>>>> //Run D microservice
>>>>> new Thread(() -> new pathtoD.Application().runMs(8084)).start();
>>>>>
>>>>>
>>>>> *But I'm having a problem wherein all the four ports, only DService is
>>>>> getting deployed.   AFAIU this is because having multiple *
>>>>> org.wso2.msf4j.MicroserviceRunner* classes in the same JVM and only
>>>>> one getting loaded. *
>>>>>
>>>>> *I have a requirement where I need to run all 4 microservice in one
>>>>> JVM because of resource issues. ** Is there a way to achieve this
>>>>> without going to separate JVM for each service?*
>>>>>
>>>>>
>>>>> Please note those Exception mappers belong to each of the microservice
>>>>> packages. And should also be tested with integration test. So that I 
>>>>> cannot
>>>>> run these service like this.
>>>>>
>>>>> MicroservicesRunner msRunner = new MicroservicesRunner(port1,port2, 
>>>>> port3);
>>>>> microservicesRunner.deploy(serviceA, serviceB, 
>>>>> serivice3).addExceptionMapper(Amapper, Bmapper, cMapper).start();
>>>>>
>>>>>
>>>>> Thanks and regards.
>>>>> --
>>>>> Irshad Nilam
>>>>> Software Engineering Intern
>>>>> WSO2
>>>>>
>>>>> Email  : [email protected]
>>>>> Mobile :      +94 77 3669262 <077%20366%209262>
>>>>> <http://wso2.com/signature>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> *Afkham Azeez*
>>>> Senior Director, Platform Architecture; WSO2, Inc.; http://wso2.com
>>>> Member; Apache Software Foundation; http://www.apache.org/
>>>> * <http://www.apache.org/>*
>>>> *email: **[email protected]* <[email protected]>
>>>> * cell: +94 77 3320919 <077%20332%200919>blog: *
>>>> *http://blog.afkham.org* <http://blog.afkham.org>
>>>> *twitter: **http://twitter.com/afkham_azeez*
>>>> <http://twitter.com/afkham_azeez>
>>>> *linked-in: **http://lk.linkedin.com/in/afkhamazeez
>>>> <http://lk.linkedin.com/in/afkhamazeez>*
>>>>
>>>> *Lean . Enterprise . Middleware*
>>>>
>>>> _______________________________________________
>>>> Dev mailing list
>>>> [email protected]
>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>
>>>>
>>>
>>>
>>> --
>>>
>>>
>>
>>
>>
>> --
>> Irshad Nilam
>> Software Engineering Intern
>> WSO2
>>
>> Email  : [email protected]
>> Mobile :      +94 77 3669262 <+94%2077%20366%209262>
>> <http://wso2.com/signature>
>>
>>
>
>
> --
> Irshad Nilam
> Software Engineering Intern
> WSO2
>
> Email  : [email protected]
> Mobile :      +94 77 3669262 <077%20366%209262>
> <http://wso2.com/signature>
>
>


-- 
*Afkham Azeez*
Senior Director, Platform Architecture; WSO2, Inc.; http://wso2.com
Member; Apache Software Foundation; http://www.apache.org/
* <http://www.apache.org/>*
*email: **[email protected]* <[email protected]>
* cell: +94 77 3320919blog: **http://blog.afkham.org*
<http://blog.afkham.org>
*twitter: **http://twitter.com/afkham_azeez*
<http://twitter.com/afkham_azeez>
*linked-in: **http://lk.linkedin.com/in/afkhamazeez
<http://lk.linkedin.com/in/afkhamazeez>*

*Lean . Enterprise . Middleware*
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to