Trevor, That snapshot was downloaded last week, nevertheless, I'll do as instructed.
Regards, Gonzalo Enviado desde mi iPhone El 08-03-2013, a las 12:06, Trevor Bernard <trevor.bern...@gmail.com> escribió: > Hi Gonzalo, > > Can you try building the latest from jzmq master? Not knowing what > 2.1.2-SNAPSHOT you have, I can't be certain which fixes are included in your > version. > > These issues might be contributing to your stability problems that have since > been resolved: > > - https://github.com/zeromq/jzmq/issues/174 > - https://github.com/zeromq/jzmq/issues/186 > > Also, I'm working on build more stable/interruptible zmq devices. > > From looking at your code, you're basically use the zmq queue device. Here is > my WIP for the queue device: > > https://github.com/trevorbernard/jzmq/commit/8ff283764340758159ab915afcbbe87894882a31 > > This is completely untested but I intend to finalize it over the weekend. > > Warmest regards, > > Trev > On Fri, Mar 8, 2013 at 7:57 AM, Gonzalo Vasquez <gvasq...@altiuz.cl> wrote: >> Dear Min, >> >> File pom.xml inside jzmq-master.zip says "2.1.2-SNAPSHOT" >> >> ZMQ is the latest, i.e. 3.2.2 >> >> Gonzalo Vásquez Sáez >> Gerente Investigación y Desarrollo (R&D) >> Altiuz Soluciones Tecnológicas de Negocios Ltda. >> Av. Nueva Tajamar 555 Of. 802, Las Condes - CP 7550099 >> +56 2 335 2461 >> gvasq...@altiuz.cl >> http://www.altiuz.cl >> http://www.altiuzreports.com >> >> >> >> El 07-03-2013, a las 22:59, Min <mini...@gmail.com> escribió: >> >>> Hi, >>> >>> And what version of jzmq and libzmq did you >>> use? >>> >>> Thanks >>> Min >>> >>> 2013년 3월 7일 목요일에 Gonzalo Vasquez님이 작성: >>>> This is the client side code that I use to communicate with the server: >>>> >>>> private byte[] getByte(final String table, final String name, >>>> final int doc_off, final int doc_len, final int >>>> comp_off, >>>> final int comp_len, final char compressionType) throws >>>> Exception { >>>> File file = new File(cacheRoot, table.substring(0, 3) + "/DOC/" >>>> + name); //$NON-NLS-1$ >>>> Context ctx = ZMQ.context(1); >>>> >>>> Socket req = ctx.socket(ZMQ.REQ); >>>> req.connect(ENDPOINT); >>>> >>>> // TODO Crear POJO en vez de Map >>>> Map<String, String> params = new HashMap<String, String>(); >>>> params.put("path", file.getAbsolutePath()); >>>> params.put("dOff", String.valueOf(doc_off)); >>>> params.put("dLen", String.valueOf(doc_len)); >>>> params.put("cOff", String.valueOf(comp_off)); >>>> params.put("clen", String.valueOf(comp_len)); >>>> params.put("cType", String.valueOf(compressionType)); >>>> >>>> ByteArrayOutputStream baos = new ByteArrayOutputStream(); >>>> ObjectOutputStream oos = new ObjectOutputStream(baos); >>>> oos.writeObject(params); >>>> oos.close(); >>>> params.clear(); >>>> baos.close(); >>>> >>>> req.send(baos.toByteArray(), NO_FLAGS); >>>> byte[] data = req.recv(); >>>> req.close(); >>>> ctx.term(); >>>> return data; >>>> } >>>> >>>> >>>> And on the server side I use the three attached classes >>>> >>>> public void run() { >>>> // Prepare our context and sockets >>>> Context context = ZMQ.context(1); >>>> Socket frontend = context.socket(ZMQ.ROUTER); >>>> Socket backend = context.socket(ZMQ.DEALER); >>>> frontend.bind("tcp://*:5559"); >>>> backend.bind("inproc://workers"); >>>> >>>> Thread threads[] = new Thread[workers]; >>>> for (int i = 0; i < threads.length; i++) { >>>> threads[i] = new WorkerThread(i, context); >>>> threads[i].start(); >>>> } >>>> System.out.println("launch and connect broker."); >>>> >>>> // Initialize poll set >>>> Poller items = context.poller(2); >>>> items.register(frontend, Poller.POLLIN); >>>> items.register(backend, Poller.POLLIN); >>>> >>>> boolean more = false; >>>> byte[] message; >>>> >>>> // Switch messages between sockets >>>> try { >>>> while (!Thread.currentThread().isInterrupted()) { >>>> // poll and memorize multipart detection >>>> items.poll(); >>>> >>>> if (items.pollin(0)) { >>>> while (true) { >>>> // receive message >>>> message = frontend.recv(0); >>>> more = >>>> frontend.hasReceiveMore(); >>>> >>>> // Broker it >>>> backend.send(message, more ? >>>> ZMQ.SNDMORE : 0); >>>> if (!more) { >>>> break; >>>> } >>>> } >>>> } >>>> if (items.pollin(1)) { >>>> while (true) { >>>> // receive message >>>> message = backend.recv(0); >>>> more = backend.hasReceiveMore(); >>>> // Broker it >>>> frontend.send(message, more ? >>>> ZMQ.SNDMORE : 0); >>>> if (!more) { >>>> break; >>>> } >>>> } >>>> } >>>> } >>>> } finally { >>>> // We never get here but clean up anyhow >>>> frontend.close(); >>>> backend.close(); >>>> context.term(); >>>> } >>>> } >>>> >>>> Does that help solving the problem? >>>> Gonzalo Vásquez Sáez >>>> Gerente Investigación y Desarrollo (R&D) >>>> Altiuz Soluciones Tecnológicas de Negocios Ltda. >>>> Av. Nueva Tajamar 555 Of. 802, Las Condes - CP 7550099 >>>> +56 2 335 2461 >>>> gvasq...@altiuz.cl >>>> http://www.altiuz.cl >>>> http://www.altiuzreports.com >>>> >>>> >>>> >>>> El 05-03-2013, a las 18:19, Pieter Hintjens <p...@imatix.com> escribió: >>>> >>>>> >>>>> On Tue, Mar 5, 2013 at 9:57 PM, Gonzalo Vasquez <gvasq...@altiuz.cl> >>>>> wrote: >>>>>> Hi there! >>>>>> >>>>>> Upon stressing a Java / ZMQ based piece of software, I'm getting TWO >>>>>> repeated errors every now and then, they are: >>>>> >>>>> Hi Gonzalo, >>>>> >>>>> As with any error you're trying to report (to any project, I guess), the >>>>> best tool is a minimal (I can't emphasize that enough) test case that >>>>> provokes the crash. If you can make this in Java we can recreate it in C, >>>>> and see where the problem is. >>>>> >>>>> The test case is essential to fixing the problem since after we fix it we >>>>> have to run the same test case to be 100% the problem is gone. >>>>> >>>>> -Pieter >>>>> >>>>> _______________________________________________ >>>>> zeromq-dev mailing list >>>>> zeromq-dev@lists.zeromq.org >>>>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev >>> _______________________________________________ >>> zeromq-dev mailing list >>> zeromq-dev@lists.zeromq.org >>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev >> >> >> _______________________________________________ >> zeromq-dev mailing list >> zeromq-dev@lists.zeromq.org >> http://lists.zeromq.org/mailman/listinfo/zeromq-dev > > _______________________________________________ > zeromq-dev mailing list > zeromq-dev@lists.zeromq.org > http://lists.zeromq.org/mailman/listinfo/zeromq-dev
_______________________________________________ zeromq-dev mailing list zeromq-dev@lists.zeromq.org http://lists.zeromq.org/mailman/listinfo/zeromq-dev