Java my-streaming/polling-amf client requested

It was nice that blazeds provided java amf client. But its function is restricted to remote function call. When utilizing the messaging feature(double side transmission) there is no java support.
A java testing client that accepts message is what I am seeking. As long as the message gets 'pushed' from messaging service to the java client, I'll be satisfied. Whatever channel, polling or streaming should be fine.

Yes, that could be possible workarounds. Here is what I find as drawback(needs verification):
JMS seems to be opening ports, which asks for more than blazeds. Don't know if shared web hosting agrees.
Blazeds wraps around JMS. If I use jms java client for testing, I bypass flex messaging layer.

Similar Messages

  • Do I need the 'java-polling-amf in my services-config.xml if I'm using coldfusion

    Do I need the 'java-polling-amf in my services-config.xml if I'm using coldfusion?
    Im using IntelliJ IDEA with a flex project and for some reason its stopping comilation with this error:
    [SUITE (Flex Application 1)] flex.messaging.config.ConfigurationException: The services configuration includes a channel-definition 'java-polling-amf' that has an endpoint with a context.root token but a context root has not been defined. Please specify a context-root compiler argument.
    when I was using flex builder with CF builder I never needed to specify the context.root

    I don't use IDEA, so I don't know what kind of configuration settings it has for Flex project development.
    You don't need the java-polling-amf channel for CF development. By default, CF development uses CF-specific channels:
    my-cfamf
    cf-polling-amf
    my-cfamf-secure
    any custom channels you've created yourself for CF to use
    That said, all the channels require a context root setting for your project to compile properly. If you still have Flash Builder handy, take a look at your compiler switches for a project there to see what you're missing in IDEA.
    Dave Watts, CTO, Fig Leaf Software
    http://www.figleaf.com/
    http://training.figleaf.com/

  • [svn:bz-trunk] 8678: Bug: BLZ-255 - trader desktop sample with per-client-qos-polling-amf channel is confusing

    Revision: 8678
    Author:   [email protected]
    Date:     2009-07-20 01:20:31 -0700 (Mon, 20 Jul 2009)
    Log Message:
    Bug: BLZ-255 - trader desktop sample with per-client-qos-polling-amf channel is confusing
    QA: No
    Doc: No
    Ticket Links:
        http://bugs.adobe.com/jira/browse/BLZ-255
    Modified Paths:
        blazeds/trunk/apps/samples/WEB-INF/flex-src/traderdesktop/src/traderdesktop.mxml

  • Socket Adapter Request-Reply ~ Error occured in processing client request ~

    Dear Friends,
    Need your help in resolving a Issue regarding Socket Adapter Request/Reply.
    We have a requirement to recieve Message from a External Vendor using Socket based communication,to achieve this Created a Process which has Socket Adapter Inbound Synchronous Request-Reply. I have also created a sample Outbound Service to test and it was able to send & Receive Message Sucessfuly .
    When i try to Recieve a Message from the External Vendor on Port 8008 in this I am unable to receive the message(No Bpel Instance Created) message coming to the SOA Server, in the logs I can see Below Error-
    Socket Adapter ClientProcessor:run() Error occured in processing client request
    Socket Schema Translation Error.
    Error while trying to translate from native.
    Please ensure that the schemas are set up with native annotations and comply with the output XML. Contact Oracle support if error is not fixable.
    Pls. find my Input XSD Below-
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:nxsd="http://xmlns.oracle.com/pcbpel/nxsd"
    xmlns:tns="http://TargetNamespace.com/InboundService"
    targetNamespace="http://TargetNamespace.com/InboundService"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified"
    nxsd:version="NXSD"
    nxsd:stream="chars"
    nxsd:encoding="US-ASCII"
    >
    <xsd:element name="R1">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="C1" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="${eol}" nxsd:quotedBy="&quot;" />
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:schema>
    Sample Incoming Message-
    <?xml version="1.0" encoding="UTF-8"?>
    <ExitRequest>
    <ExitRequestID>1234</ExitRequestID>
    <Timestamp>28-11-2012 01:19:11</Timestamp>
    <ActiveTagData>23456</ActiveTagData>
    <DriverID>5555</DriverID>
    <LicensePlate>6546</LicensePlate>
    <DriverName> Sujit Nair</DriverName>
    <DriverDOB>06-06-2012</DriverDOB>
    <DriverEmployer>Testing</DriverEmployer>
    <DriverSex>Male</DriverSex>
    <DriverLang>ENGLISH</DriverLang>
    <DriverNationality>TEST</DriverNationality>
    <LaneID>Gate Testing</LaneID>
    <CardReaderID>07700</CardReaderID>
    </ExitRequest>
    Can anyone pls. help me on this , still not able to understand what I am doing wrong. Pls. let me know if any other details required.
    Thanks,
    Sujit Nair

    Hi,
    You don't need a NSXD (Native Format Builder) to receive a message that is XML already, and the NXSD you listed above has nothing to do with the sample incoming message. So, no surprises it is complaining "Error while trying to translate from native.".
    You have to fix the incoming message element on the Socket Adapter.
    Cheers,
    Vlad

  • Java.lang.IllegalStateException: Write attempted after request finished

    Hi
    Can anybody explin to me about java.lang.IllegalStateException: Write attempted after request finished.
    I am struggling with this problem. Please help me..
    Thanks in advance.

    try to open the inputStream when you want to read the incoming stream !
    see this for more details...

  • Java socket streams messing up

    iv wrote a games server and it uses java socket streams to send the messages back and forth between the game clients and the game server it self
    this all works great but when running and over about 5min its send over 1000 packets BUT
    it will crash iv found the reason is down to when reading the packets my parser is reading wrong part and grabbing a String part when it should be a INT
    now it should NEVER be reading this part of the packet so i put a trace on the packets coming in and ran it every packet was been read in perfect THEN just befor the crash TWO packets were merged together stright out from the socket stream this is y my packet reader was getting confused
    what im asking is can this happen in java sockets ? i thought they were bufferered so no matter how fast you send data it would always read it out in the same order ?? not sure how its merging these to packets
    is this possible of is my reader got an error in it altho works 95% of the time ??

    or do you have multiple buffered streams created from the same socket?

  • Restrict client request to site by IP address. If the request is?

    Hi all,
    I have a requirement like as follows.
    Requirement:
    Restrict client request to site by IP address. If the request is from specific IP address. I mean here standard bloack address (Eg: 127.0.0.1,default subnet mask...)
    I am looking for alread predefined method from java libs....Can please any one help on this issue.
    regards
    prasad.nadendla

    Use a SecurityManager and a .policy file that only grants SocketPermissions for the required hosts.

  • Jpd client request with attachments

    I'm currently attempting to wrap a custom control in a jpd file for the added benefits
    of a Java process. The problem I'm encountering is due to the fact that the control
    I'm using takes file content as input (I'm currently using the DataHandler type,
    since this is how attachments are transferred to/from the client using jws files).
    I've set the process up so that the client request has an argument of type javax.activation.DataHandler.
    When working with jws files, this was sufficient allow the service to accept
    a SOAP attachment. When I try to set this up through a process, however, I get
    the following error: "java.lang.ClassCastException: javax.activation.DataHandler".
    This error occurred when I invoked the process as a web service via the BEA-generated
    client proxy jar.
    Is there a different way of utilizing SOAP attachments with jpd files, or am I
    simply missing another step?
    Thanks.
    -Brian

    What are different jar files in your classpath. You might be missing the standard
    jar file that contains the javax.activation.DataHandler class. Please check and
    apply a proper Jar file.
    "Brian McLoughlin" <[email protected]> wrote:
    >
    I'm currently attempting to wrap a custom control in a jpd file for the
    added benefits
    of a Java process. The problem I'm encountering is due to the fact that
    the control
    I'm using takes file content as input (I'm currently using the DataHandler
    type,
    since this is how attachments are transferred to/from the client using
    jws files).
    I've set the process up so that the client request has an argument of
    type javax.activation.DataHandler.
    When working with jws files, this was sufficient allow the service to
    accept
    a SOAP attachment. When I try to set this up through a process, however,
    I get
    the following error: "java.lang.ClassCastException: javax.activation.DataHandler".
    This error occurred when I invoked the process as a web service via
    the BEA-generated
    client proxy jar.
    Is there a different way of utilizing SOAP attachments with jpd files,
    or am I
    simply missing another step?
    Thanks.
    -Brian

  • Jpd client requests with attachments

    I'm currently attempting to wrap a custom control in a jpd file for the added benefits
    of a Java process. The problem I'm encountering is due to the fact that the control
    I'm using takes file content as input (I'm currently using the DataHandler type,
    since this is how attachments are transferred to/from the client using jws files).
    I've set the process up so that the client request has an argument of type javax.activation.DataHandler.
    When working with jws files, this was sufficient allow the service to accept
    a SOAP attachment. When I try to set this up through a process, however, I get
    the following error: "java.lang.ClassCastException: javax.activation.DataHandler".
    This error occurred when I invoked the process as a web service via the BEA-generated
    client proxy jar.
    Is there a different way of utilizing SOAP attachments with jpd files, or am I
    simply missing another step?
    Thanks.
    -Brian

    Hi Brian,
    This sounds like a known bug. Could you take this issue up with our
    award winning support team [1] and reference CR129731.
    Thanks,
    Bruce
    [1]
    http://support.bea.com
    [email protected]
    Brian McLoughlin wrote:
    >
    I'm currently attempting to wrap a custom control in a jpd file for the added benefits
    of a Java process. The problem I'm encountering is due to the fact that the control
    I'm using takes file content as input (I'm currently using the DataHandler type,
    since this is how attachments are transferred to/from the client using jws files).
    I've set the process up so that the client request has an argument of type javax.activation.DataHandler.
    When working with jws files, this was sufficient allow the service to accept
    a SOAP attachment. When I try to set this up through a process, however, I get
    the following error: "java.lang.ClassCastException: javax.activation.DataHandler".
    This error occurred when I invoked the process as a web service via the BEA-generated
    client proxy jar.
    Is there a different way of utilizing SOAP attachments with jpd files, or am I
    simply missing another step?
    Thanks.
    -Brian

  • Method names on "Client Request with Return" nodes

    I wasn't sure whether this question would be better here, or in the "integration"
    group. The traffic there is somewhat lighter than in here, so perhaps someone
    is more likely to read it here :) .
    I have two questions about the "method name" in a "Client Request with Return"
    node in a Java Process Definition. Apparently the method name is exposed in the
    WSDL. I can sort of understand what this method name is used for in the "request"
    node, but I fail to understand what the method name corresponds to in the "reply/response"
    node of the pair of two nodes. Why does this need to expose a method name in
    the WSDL when the point of the node is just to send back a response to the original
    request?
    Second, in the "Guide to Building Business Processes" document, in the section
    titled "Naming the Methods on Client Request with Return Nodes" (page 3-14 in
    my copy), the last sentence says "The name must be a valid Java class name".
    Is this true? That confuses me.

    What do you think is happening here? Specifically if a socket is a connected and a new one comes in. What then?
    private void listen() {
              try {
                   clientSocket = serverSocket.accept();
              } catch (IOException e) {
                   e.printStackTrace();
         }

  • How can I have my servlet accept 100 concurrent client requests?

              My servlet extends HttpServlet so it is multithreaded. Then I have written a java
              client which starts 100 concurrent threads that try to contact the servlet.
              There are always lots of threads which are refused by the Weblogic Server 6.0.
              They get a 'Connection refused' exception. Sometimes there are 50 refused connections,
              sometimes there are 0 refused connections (not very often), sometimes there are
              80 refused connections (usually).
              I have checked the 'Servlet' documentation and the 'J2EE Design Considerations
              for Weblogic Server' which recommends not to exceede the execute thread count
              number of 15. I have not changed that value, I do not even know if it still exists
              in Weblogic 6.0 as the document refers to the 5.0 version.
              Does anybody know how to solve this problem? How can I have the client requests
              waiting rather than being refused? Of course the main goal is to serve all the
              client requests, not to refuse.
              This is the code that the client thread uses to contact the servlet:
              URL url = new URL("http://localhost:7001/examplesWebApp/myServlet");
              URLConnection conn = url.openConnection();
              conn.setDoInput(true);
              conn.setDoOutput(true);
              DataOutputStream os = new DataOutputStream(conn.getOutputStream());
              os.writeBytes()
              os.writeBytes()
              Thanks for your time,
              David
              

              The key is
              KKEY_LOCALMACHINE\SYSTEM\CurrentControlSet\Services\TCPIP\Parameters
              There you may need add a value "MaxUserPort" as REG_DWORD (5000 is default), also
              change "TcpTimedWaitDelay" to small number (30 is minimum). You may have trouble
              to find them. Just add them.
              You can also use Microsoft Web Application Stress Tool to test your Weblogic applications.
              As a free test tool, it is really powerful, although not so flexible.
              I guess you write your own test tool with java.net.URLConnection. I am not sure
              about the power of this class. In my case, I wrote my stress test tools with Java
              Socket. I can test application on Weblogic 6 with 1000 threads with my own tool
              and Microsoft tool, depending on memory and CPU of the machines I use. I run my
              tests on both Windows 2000 professional and Solaris.
              Check your CPU and memory usage with task manager.
              On the other hand, you should check log message on Weblogic 6. Try to turn on
              HTTP debug by add the following in your config.xml in tag <Server>.
              <ServerDebug DebugHttp="true" DebugURLResolution="true"
              JDBCConn="true" JDBCSQL="true" ListenThreadDebug="true" Name="myserver"/>
              "David Ruana" <[email protected]> wrote:
              >
              >Xiang, I really appreciate your help. I changed my Weblogic server configuration
              >from the console but I still experience the same problems.
              >
              >I start my 100 threads, and from about the 20th onward all them get the
              >'Connection
              >refused' exception in the URLConnection::getOutputStream() function,
              >always after
              >a successful URLConnection::openConnetion().
              >
              >My system is Windows 2000 Professional (Spanish version). I tried to
              >check the
              >open client socket descriptor limit but I was not able to find the TCPIP/MAXUSERPORT
              >in the registry. Do you know how is this entry called in Windows 2000?
              >
              >At this point I am not sure whether my problems are related to the Weblogic
              >server
              >or to the operative system. I will keep trying... I would appreciate
              >any other
              >suggestion.
              >
              >Thank you very much.
              >
              >
              >
              >"Xiang Rao" <[email protected]> wrote:
              >>
              >>It is better to use Weblogic 6 console to configure Weblogic server.
              >>In the console,
              >>there is tab Servers->myServer->Congiguration->Tuning, you can find
              >execute
              >>length
              >>and backlog.
              >>
              >>If you use Windows as test client, note Windows have a 5000 open client
              >>socket
              >>descriptors limit. You need change Windows Registry (TCPIP/MAXUSERPORT)
              >>to change
              >>this parameter.
              >>
              >>On the other hand, during test, you should monitor your test via Weblogic
              >>console
              >>(myServer->Monitoring->Performance), here you can see the change of
              >wait
              >>queue.
              >>If the queue keeps increaing, you are in trouble.
              >>
              >>Since you know how to use MBean, try to write customized (servlet, for
              >>example)
              >>to collect the following data: opened socket number, open socket number,
              >>opened
              >>session number and open session number. The two "open" numbers will
              >give
              >>you some
              >>clue. Also record your CPU and memory usage.
              >>
              >>BTW, what is the output you get from your test in terms of number of
              >>requests
              >>per second, response time and number of bytes downloaded/uplodaed per
              >>second?
              >>Are your test client and Weblogic running on the same machine?
              >>
              >>
              >>
              >>"David Ruana" <[email protected]> wrote:
              >>>
              >>>By the way, this is a piece of the config.xml file where you can see
              >>>my Server
              >>>configuration. It is the configuration which is installed in the examplesServer
              >>>in the free evaluation of Weblogic 6.0. I only modified the AcceptBacklog
              >>>value,
              >>>and added the ThreadPoolSize="15" line which was missing (I copied
              >from
              >>>the petstoreServer).
              >>>
              >>> <Server AcceptBacklog="1000" AdministrationPort="0" ClusterWeight="1"
              >>> ConsoleInputEnabled="false" DGCIdlePeriodsUntilTimeout="2"
              >>> DefaultProtocol="t3" DefaultSecureProtocol="t3s"
              >>> HttpdEnabled="true" JavaCompiler="C:\bea\jdk130/bin/javac"
              >>> ListenPort="7001" Name="examplesServer" NativeIOEnabled="true"
              >>>     ThreadPoolSize="15"
              >>> SocketReaderTimeoutMaxMillis="10"
              >>> TransactionLogFilePrefix="config/examples/logs/"
              >>> TunnelingClientPingSecs="45" TunnelingClientTimeoutSecs="40"
              >>>XMLRegistry="examplesXMLRegistry">
              >>> <ServerDebug Name="examplesServer"/>
              >>> <WebServer DefaultWebApp="DefaultWebApp_examplesServer"
              >>> LogFileName="./config/examples/logs/access.log"
              >>> LoggingEnabled="true" Name="examplesServer"/>
              >>> <Log FileName="./config/examples/logs/weblogic.log" Name="examplesServer"/>
              >>> <KernelDebug Name="examplesServer"/>
              >>> <SSL Enabled="true" ListenPort="7002" Name="examplesServer"
              >>> PeerValidationEnforced="0"
              >>> ServerCertificateChainFileName="./config/examples/ca.pem"
              >>> ServerCertificateFileName="./config/examples/democert.pem"
              >>> ServerKeyFileName="./config/examples/demokey.pem" TrustedCAFileName="./config/examples/ca.pem"/>
              >>> </Server>
              >>>
              >>>
              >>>
              >>>
              >>>
              >>>"Xiang Rao" <[email protected]> wrote:
              >>>>
              >>>>You only need to change Weblogic HTTP configuration. Give the server
              >>>>a big socket
              >>>>Backlog number. Since you test with 100 threads, you can think 1000
              >>>to
              >>>>5000, i.e.,
              >>>>1000 to 5000 requests will be in queue before got served. Aslo, you
              >>>might
              >>>>need
              >>>>to change your OS TCP/IP settings (both test clients and servers),
              >>such
              >>>>as maximum
              >>>>number of sockets and timeout value(so closed sockets will release
              >>socket
              >>>>descriptors
              >>>>immediately).
              >>>>
              >>>>On the other hand, the number of executive threads can be much larger
              >>>>than 15
              >>>>(50-200 is a normal number), depending on the features of your application.
              >>>>You
              >>>>can try your stress test tools to find a reasonable number by analyzing
              >>>>the relationships
              >>>>among (throughtput, response time, number of executive threads, etc).
              >>>>
              >>>>
              >>>>"David Ruana" <[email protected]> wrote:
              >>>>>
              >>>>>My servlet extends HttpServlet so it is multithreaded. Then I have
              >>>written
              >>>>>a java
              >>>>>client which starts 100 concurrent threads that try to contact the
              >>>servlet.
              >>>>>
              >>>>>There are always lots of threads which are refused by the Weblogic
              >>>Server
              >>>>>6.0.
              >>>>>They get a 'Connection refused' exception. Sometimes there are 50
              >>refused
              >>>>>connections,
              >>>>>sometimes there are 0 refused connections (not very often), sometimes
              >>>>>there are
              >>>>>80 refused connections (usually).
              >>>>>
              >>>>>I have checked the 'Servlet' documentation and the 'J2EE Design Considerations
              >>>>>for Weblogic Server' which recommends not to exceede the execute
              >thread
              >>>>>count
              >>>>>number of 15. I have not changed that value, I do not even know if
              >>>it
              >>>>>still exists
              >>>>>in Weblogic 6.0 as the document refers to the 5.0 version.
              >>>>>
              >>>>>Does anybody know how to solve this problem? How can I have the client
              >>>>>requests
              >>>>>waiting rather than being refused? Of course the main goal is to
              >serve
              >>>>>all the
              >>>>>client requests, not to refuse.
              >>>>>
              >>>>>This is the code that the client thread uses to contact the servlet:
              >>>>>
              >>>>>URL url = new URL("http://localhost:7001/examplesWebApp/myServlet");
              >>>>>URLConnection conn = url.openConnection();
              >>>>>conn.setDoInput(true);
              >>>>>conn.setDoOutput(true);
              >>>>>
              >>>>>DataOutputStream os = new DataOutputStream(conn.getOutputStream());
              >>>>>os.writeBytes()
              >>>>>os.writeBytes()
              >>>>>...
              >>>>>
              >>>>>Thanks for your time,
              >>>>>David
              >>>>>
              >>>>
              >>>
              >>
              >
              

  • SecurityException after making client request

    Hi,
    I have a web application that makes an HTTPS client request to another server
    using SSL/certificates. I'm using WebLogic classes for the client calls and modelled
    my code off the WebLogic examples. After making the request (successfully), I
    get a SecurityException when instantiating an InitialContext (see stack trace
    below).
    The exception indicates that the user is "null", but if I call Security.getCurrentUser()
    just before and after the exception occurs, it reports my user correctly. If
    I remove the HTTPS call, I no longer get the exception.
    Is there a known problem, or is there something I could be doing wrong to cause
    this?
    Regards,
    Paul
    javax.naming.AuthenticationException. Root exception is java.lang.SecurityException:
    Authentication for user null denied in realm weblogic
    at weblogic.security.acl.Realm.authenticate(Realm.java:212)
    at weblogic.security.acl.Realm.getAuthenticatedName(Realm.java:233)
    at weblogic.security.acl.internal.Security.authenticate(Security.java:125)
    at weblogic.jndi.WLInitialContextFactoryDelegate.pushUser(WLInitialContextFactoryDelegate.java:522)
    at weblogic.jndi.WLInitialContextFactoryDelegate.newContext(WLInitialContextFactoryDelegate.java:366)
    at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:338)
    at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:211)
    at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:149)
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:665)
    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:246)
    at javax.naming.InitialContext.init(InitialContext.java:222)
    at javax.naming.InitialContext.<init>(InitialContext.java:178)
    at com.asa.pcss.business.BeanDataUtility.getResources(BeanDataUtility.java:265)

    Hi Paul,
    I've just encountered exactly the same problem. Did you find a solution?
    Regards,
    Fran
    "Paul Canavese" <[email protected]> wrote:
    >
    Hi,
    I have a web application that makes an HTTPS client request to another server
    using SSL/certificates. I'm using WebLogic classes for the client calls
    and modelled
    my code off the WebLogic examples. After making the request (successfully),
    I
    get a SecurityException when instantiating an InitialContext (see stack
    trace
    below).
    The exception indicates that the user is "null", but if I call Security.getCurrentUser()
    just before and after the exception occurs, it reports my user correctly.
    If
    I remove the HTTPS call, I no longer get the exception.
    Is there a known problem, or is there something I could be doing wrong to
    cause
    this?
    Regards,
    Paul
    javax.naming.AuthenticationException. Root exception is java.lang.SecurityException:
    Authentication for user null denied in realm weblogic
    at weblogic.security.acl.Realm.authenticate(Realm.java:212)
    at weblogic.security.acl.Realm.getAuthenticatedName(Realm.java:233)
    at weblogic.security.acl.internal.Security.authenticate(Security.java:125)
    at weblogic.jndi.WLInitialContextFactoryDelegate.pushUser(WLInitialContextFactoryDelegate.java:522)
    at weblogic.jndi.WLInitialContextFactoryDelegate.newContext(WLInitialContextFactoryDelegate.java:366)
    at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:338)
    at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:211)
    at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:149)
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:665)
    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:246)
    at javax.naming.InitialContext.init(InitialContext.java:222)
    at javax.naming.InitialContext.<init>(InitialContext.java:178)
    at com.asa.pcss.business.BeanDataUtility.getResources(BeanDataUtility.java:265)

  • Arrowpoint Cookies, Reverse Proxy and Multiplexed Client Requests

    Hi,
    I have a reverse proxy which is performing SSL offload and making backend connections to two web servers. Between the reverse proxy and the two webservers, a CSS is in place to load balance between the web servers. There is a requirement for session stickiness on the web servers and since client IP details are lost through the reverse proxy I have used the arrowpoint-cookie method to load balance connections.
    However, the reverse proxy seems to make only a handful of connections to the servers compared to the number incoming client connections and we have noticed that stickiness is broken. Now, I would assume this is correct if arrowpoint-cookie makes a load balancing based on the first HTTP get in a tcp stream and not on a per transaction basis AND our reverse proxy is multiplexing client requests. However, I can not convince myself of how the arrowpoint-cookie method actually works.
    I wondered if anyone had any insight on this or had experienced similar issues with arrowpoint cookies?

    Hi Gilles,
    I have implemented this today, and we are still seeing issues with requests hitting the wrong server.
    A bit more info, the reverse proxy is an AXG Web Aopplication Firewall. I have been looking at this and am considering disabling connection re-use on here.
    However I am also wondering if this might be to do with the flow timeout multiplier I am using which is 5 (80 seconds). Perhaps this is too low?
    Thanks, David.

  • App-V 5 Full Infrastructure Apps take long time to stream to the client

    Hi was wondering if anyone has the same issue as i am or knows a fix for this, below is my problem and the troubleshooting i have done.
    Overview of problem
    App-V 5 apps delivered via App-V 5 full infrastructure take a long time to stream to the client and this means the user has to wait if they try and run an application before it has streamed to the client. Users sometimes have to
    wait 2 or 3 minutes for an application to stream and this is about 40 times slower than basic SMB and HTTP transfer tests show the system is capable of (see performance results below).
    App-V 4.6 apps delivered via App-V 4.6 full infrastructure and HTTP streaming are fine.
    Overview of environment
    App-V 5.0 SP1 Full Infrastructure.
    App-V servers are running Server 2012 on Hyper-V 3 or ESX 5.1 with 2 x vCPU and 4GB RAM.
    SQL servers are a SQL 2012 cluster.
    Separate servers for SQL, management, publishing, content and reporting.
    Management, Publishing and Content servers have two servers per role and NLB to provide load balancing. So 7 servers (2 x Man, 2 x Pub, 2 x Content, 1 x Reporting)
    Two further sites with 2 x Pub and 2 x Content each. All publishing servers pointed at the load balance address for management.
    Content delivered via HTTP
    Clients are physical desktops and laptops running Windows 7 SP1 x86 and Windows 8 x86
    App-V client is 5.0SP1
    Clients are pointed at their nearest publishing server NLB via a script which looks up the client IP address and uses PowerShell to configure the publishing server
    Content is streamed from the nearest content server NLB by setting the PackageSourceRoot to the nearest content NLB (via the same PowerShell script above).
    App-V apps delivered per-user via AD group. One AD group per application. Approximately 200 App-V apps published so far - will eventually reach 400 as we sequence more. About 9000 users.
    Analysis performed so far
    Servers not heavily loaded. CPU averages 5%. Lots of RAM free. Very low disk IO. Problem also occurs out-of-hours so we are 99.9% certain that server resources are not a cause.
    Streaming performance is the same from all 6 content servers and all 3 NLB addresses (tested by changing the value of PackageSourceRoot). Wireshark used to confirm packages are really streaming from the correct location, enforcing
    our belief that the problem isn't at the server end (unless all 6 servers are affected).
    Streaming via both HTTP and SMB2.1 is approximately the same (tested by changing the value of PackageSourceRoot between http://xxxx and \\server\AppVContent).
    Wireshark used to confirm we really are using the protocol we think we are using.
    All clients exhibit the same behaviour. Issue reported by many users. 5 test PCs chosen at random at all 3 sites confirmed to have the slow streaming problem.
    Slow streaming from both Hyper-V and VMware ESX servers.
    Client not heavily loaded.
    Affects all App-V apps although it obviously affects the larger ones more.
    All App-V apps have a Feature Block 1 setup.
    If we copy the ".appv" file from the server to the client via either HTTP or SMB then it's reasonably quick (up to 480Mb/s). So we don't believe the network or servers are at fault. For example:
    We can copy a 149MB .appv file via SMB from the content server to the client in 5 seconds.
    We copy HTTP download the .appv file from the content server using IE on the client in 5 seconds.
    But if you ask the App-V 5 client to fully download the sequence then it takes 2 - 3 minutes.
    The App-V 4.6 client takes about 8 - 10 seconds to fully download a similar sized application.
    App-V 5 publishing works fine - when a new user logs on they get their list of application straight away, it's just the streaming which is slow.
    Once the App-V app has streamed locally it runs fine and with a decent performance.
    Looking at a Wireshark trace of the streaming you can see that the slow performance is due to the transfer stopping and starting a lot. You only notice this when you zoom into the performance graph a fair bit.
    Each time the HTTP server stops sending traffic, it doesn't start again until the client sends a "TCP Window update". Each "stop" is of a different length, but just taking a few from the middle I get 0.06s, 0.11s,
    0.13s wasted etc.
    I can see that it's the client stopping the transfer by reducing its advertised TCP Window Size. I'll provide an example:
    Server sends 9 x 1514 bytes. Client responds with an ACK and a Window size of 54016 bytes (256x211)
    Server sends 11 x 1514 bytes. Client responds with an ACK and a Window size of 37888 bytes (256x148)
    Server sends 10 x 1514 bytes. Client responds with an ACK and a Window size of 23296 bytes (256x91)
    Server sends 15 x 1514 bytes. Client responds with an ACK and a Window size of 1280 bytes (5 x 256)
    Server stops sending (I'm guessing because the client advertised Window size was less than a single packet's worth of bytes)
    <0.1 seconds passes>
    Client sends a "TCP Window Update" re-advertising a TCP window size of 65536 (256x256).
    Server starts transmitting again
    So the way I see this is that the App-V 5 client is controlling the transfer speed by utilising TCP Window flow control. The trace was taken at the client end so there's no room for anything on the network to be fiddling with flow
    control (and we've confirmed there are no traffic shapers in the loop).
    We've also tried streaming directly from the local client by copying some App-V 5 apps down to the client, creating a SMB share on the client and changing PackageSourceRoot to \\localhost\AppVContent (i.e. so we are streaming directly
    from the client to the client - to remove the network from the equation) and there is only an improvement of 5 to 10 seconds. So we know it's nothing to do with the network or the servers.
    We've tried turning off TCP auto-tuning on the client with:
    netsh interface tcp set global autotuninglevel=disabled
    and turning off TCP chimney offloading (which is off anyway because the NIC doesn't support it and Netstat -t output shows "InHost" for offload state for all connections) with:
    netsh int tcp set global chimney=disabled
    and nothing has improved.
    So we've now focussed on the extraction of the .appv (ZIP) file on the client.
    Using Windows Explorer it takes 75 seconds to extract the ZIP file
    Using 7ZIP it takes 9 seconds to extract the ZIP file
    Yeah we've always known that the Explorer ZIP engine is terrible. That's why we use 7ZIP or WinRAR on our clients.
    So we've started to wonder if the problem with the slow App-V 5 streaming is because the client is downloading the .appv file and extracting it as it goes along in a single thread. If the App-V 5 client is using the same terrible
    ZIP engine that Explorer does then that would explain the slow performance. The "download" appears to take a long time because the client is using TCP flow control to slow the transfer since it's extracting the .appv file using a very slow ZIP engine
    and it's all in a single thread.

    Guys,
    Just wanted to give you a brief update basically close this thread as Answered.
    We had submitted 4 App-V 5 Bugs to Microsoft and these were reproducible and an explanation was given on work around to them. Microsoft
    sent down a App-v developer to have a look at our problems. They said they will try and include the Bug fixes in SP2 which should be out in a few weeks or they will definitely be included in SP3.
    In regards to the slow streaming it all came down to the Disk IO.
    We found that you could simply enable "Turn off
    Windows write-cache buffer flushing on the device", then start streaming the app and then disable "Turn
    off Windows write-cache buffer flushing on the device" immediately after
    (we don't want to leave it on) and that basically fixed the issue.
    But a normal user would not have permissions to do
    this, so a code was written to enable and disable this option.
    Apology for not going in detail, like my opening thread, its very late. 
    but if you would like a detailed analysis please message me.
    I would like to Thank the Talented Consultant who designed and implemented are App-V infrastructure who found the bugs and created all
    the work around and who also emailed the detailed analysis of the problems to Microsoft that got them interested.
    Simon Bond from Ultima Business Solutions.
    Thank you

  • Java.lang.Exception: IOException in sending Request :: Connection refused:

    Hi all,
    I am a new to Oracle 10g.I am using Enterprise manager for DBA jobs.After ogging in to enterprise manager, when i click the refresh button, i get the folllowing error
    " java.lang.Exception: IOException in sending Request :: Connection refused: connect"
    Please do help to slove this problem.
    Thanks

    I'm having the same error in my console header. Here is the content of the emagent.trc file.
    Running 10gR2 on Win 2K3 server. (bold added for readability)
    emctl status dbconsole responds with 'EM Daemon is not running'
    2007-03-29 14:02:23 Thread-1776 ERROR pingManager: nmepm_pingReposURL: Did not receive a response header from repository
    2007-03-29 14:02:23 Thread-1776 WARN main: clear collection state due to OMS_version difference
    2007-03-29 14:02:23 Thread-1776 WARN command: Job Subsystem Timeout set at 600 seconds
    2007-03-29 14:02:24 Thread-1776 WARN upload: Upload manager has no Failure script: disabled
    2007-03-29 14:02:24 Thread-1776 WARN upload: Recovering left over xml files in upload directory
    2007-03-29 14:02:24 Thread-2920 ERROR command: nmejcn: received no status header from repository at http://dB_Domain:5500/em/upload/
    2007-03-29 14:02:24 Thread-1776 WARN upload: Recovered 0 left over xml files in upload directory
    2007-03-29 14:02:25 Thread-1776 WARN metadata: Metric collectSnapshot does not have any data columns
    2007-03-29 14:02:27 Thread-1776 WARN metadata: Metric Disk_Path does not have any data columns
    2007-03-29 14:02:27 Thread-1776 WARN metadata: Metric osm_diskGroupPolicies does not have any data columns
    2007-03-29 14:02:53 Thread-1776 WARN TargetManager: Regenerating all Metadata
    2007-03-29 14:05:17 Thread-1776 ERROR util.files: ERROR: nmeufis_new: failed in lfiopn on file: E:\oracle\product\10.2.0\db_3\dB_Domain_SIGD\sysman\emd\agntstmp.txt. error = 2 (No such file or directory)
    2007-03-29 14:05:28 Thread-1776 ERROR collector: nmecs_validateStateFile(): state file invalid : E:\oracle\product\10.2.0\db_3\dB_Domain_SIGD\sysman\emd\state\snapshot
    2007-03-29 14:05:28 Thread-1776 ERROR collector: Collector state files cleaned, severity will be resent
    2007-03-29 14:05:35 Thread-3660 ERROR upload: Error in uploadXMLFiles. Trying again in 60.00 seconds.
    2007-03-29 14:05:48 Thread-676 ERROR upload: Failed to delete/move xml file C:\WINDOWS\TEMP\X11.uod, ret = -2 ; agent exiting
    2007-03-29 14:05:48 Thread-676 ERROR : Signalled to Exit with status 3
    2007-03-29 14:05:48 Thread-1776 ERROR main: EMAgent abnormal terminating
    2007-03-29 14:06:29 Thread-2996 WARN command: Job Subsystem Timeout set at 600 seconds
    2007-03-29 14:06:29 Thread-2996 WARN upload: Upload manager has no Failure script: disabled
    2007-03-29 14:06:29 Thread-2996 WARN upload: Recovering left over xml files in upload directory
    2007-03-29 14:06:29 Thread-2996 WARN upload: Recovered 5 left over xml files in upload directory
    2007-03-29 14:06:29 Thread-2996 WARN upload: Merging leftover data file named errors.dat
    2007-03-29 14:06:29 Thread-2996 WARN upload: Merging leftover data file named severity.dat
    2007-03-29 14:06:30 Thread-2996 WARN upload: Merging leftover data file named rawdata.dat
    2007-03-29 14:06:30 Thread-2996 WARN metadata: Metric collectSnapshot does not have any data columns
    2007-03-29 14:06:31 Thread-2996 WARN metadata: Metric Disk_Path does not have any data columns
    2007-03-29 14:06:31 Thread-2996 WARN metadata: Metric osm_diskGroupPolicies does not have any data columns
    2007-03-29 14:07:29 Thread-2328 ERROR util.files: nmeufile_getLength: Error in lfilen. Error = 2 (No such file or directory)
    2007-03-29 14:15:19 Thread-1960 WARN http: 268,-1: nmehl_httpListener: signaled to exit from emctl
    Thank you for your help!
    Message was edited by:
    david.d

Maybe you are looking for