1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 <2016> 2017 2018 2019 2020 2021 2022 2023 2024 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 <2016> 2017 2018 2019 2020 2021 2022 2023 2024 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Simultaneous Channel access |
From: | <[email protected]> |
To: | <[email protected]> |
Date: | Mon, 5 Dec 2016 13:45:54 +0000 |
Hello, I have an issue with Epics V4 PvaClientChannel, working in a Java environment on the v4.2.2 jars. I’m developing a client application, and in normal operations, it all works fine - I can create a PvaClientChannel to the server, make PvaClientGet requests, and PvaClientRPC calls. The problem occurs when I try to do more than one of these at once. For example, if the server is taking a long time to process the PvaClientRPC call, if on another Thread I attempt to do a PvaClientGet or another PvaClientRPC call, it
times out when connecting to the channel in the PvaClientChannel.waitConnect(timeout) call. I’ve tried everything I can think of – using the async call to PvaClientRPC.request(), creating a new PvaClient object for each call (instead of using PvaClient.get(“pva”), going back to using the ‘older’ Channel and ChannelRPC async way
of doing things, but I still get the same problem. The problem isn’t in the server because if I create a separate application to do the second Get or RPC call whilst the first is still waiting, then the server processes it fine. The way I am creating the channels for each call is PvaClientchannel pvaChannel = PvaClient.get(“pva”).createChannel(“mydevice”,”pva”); pvaChannel.issueConnect(); Status status = pvaChannel.waitConnect(5); Is there another way to do this that allows multiple simultaneous channel access? Please help! Thanks, Matt
-- This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail. |