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
