Callback VS listener

Is callback and listener same?

Jos:
The OP asked if they are the same, not if a listener could be interpreted as a callback. Those are two very different questions.
Is callback and listener same?No they are not the same. In the context of Java, a listener is a bundle of callbacks. For example, WindowListener is a bundle of seven callbacks for events related to a window. It would be more appropriate to say that a listener uses a callback or bundle of callbacks to "listen" for events. This does not make a listener itself a callback and it certainly doesn't make a callback a listener. This is better known as the Observer (or publish subscribe) pattern where one or more objects called observers (or listeners) may be registered on another object (called source/subject) to observe an event that the source might raise.

Similar Messages

  • How to open a new window by clicking the string in the text field ?

    Hi
    is it possible to do this ?
    Some string value is retrieved from database and it is placed in the text field. [ done with this part ]
    i have to provide link to that string to open a new window. [ yet to do ]
    Please help me in this.
    Note : if this is not possible , give me some other idea to do this.
    -Arun

    whether this is useful ?
    I am using string field here.
    public StringField(java.lang.String name,
    java.lang.Object listener,
    java.lang.String callback,
    java.lang.String value)Constructs a StringField
    Parameters:
    name - Name of field
    listener - Listener to update
    callback - Callback of listener
    value - Value of field
    -Arun

  • How to keep a "front panel" open during another sequence?

    Hello everybody,
    I'm new on the TestStand forum and I have a question for my project.
    I need to make a test sequence with several sub-steps: Barcode reading, Data reading, Data analysis etc... and all these steps in a "For" or "Do... while" loop under TestStand.
    Before doing the loop, I want to create a "global HMI" step using labview, with on the front panel, the status of each sub-steps. I need to update the status of each sub-step after their execution. 
    The sequence TS is:
    Step Action Labview: HMI.vi (display front panel when calling vi)
    Loop for
    Barcode reading
    Data reading
    Data analysis...
    That's why I need to keep the front panel of "HMI.vi" always open to updated /display the status of each sub-step. (something like colors of a LED). I doner 't want to call the HMI.vi after each sub-step.
    I understood it's a multi-threading process and the reference of HMI.vi should always be active during all the "for loop", but I don't how to keepthe reference.
    Could you please kindly show me how to do it under TestStand (verstion 4.1) with LV (7.1).
    Many thanks in advance, 

    Hi zuzu,
    A UIMessage is typically used as a method to alert and pass information from your sequence or code modules to the User Interface. 
    For a good discussion on this, refer to the section titled "Communication from the Test to the User Interface" here:
    Developer Zone Tutorial: Best Practices for NI TestStand User Interface Development
    However, you can register a callback to listen for these UIMessages in other parts of your code besides the UI as well. That's what we are doing in this case with the floating panel.
    So basically, in your "Update HMI" step, you would post a UIMessage using RunState.Thread.PostUIMessage.
    This posts the UIMessage, and you can pass whatever value you want from  the "Update HMI" step to the HMI.vi.
    For information on the function call, refer to:
    NI TestStand Help: Thread.PostUIMessage
    In this case, we are sending a UIMessage with message code 10200, along with 2 pieces of data, Locals.Progress (a numeric) and "TestProcedure" (a string).
    Typically, you can pass a Number, a String, a Boolean and a Variant with each UI Message. If you need to send multiple pieces of data of the same type (your second question), then you should bundle them together into an array or cluster (container) and pass it via the ActiveX parameter.
    See the following forum posts for more details:
    reference a numeric array in PostUIMessageEX
    HOW To pass more than one numeric data with ActiveX postUIMessage
    Jervin Justin
    NI TestStand Product Manager

  • Open a new window on clicking the CommandButton in JSF

    Hi,
    I have a page and two <h:form> in that page.
    The second <h:form> just has a date field and a Submit button.
    Selecting a date and clicking the CommandButton should open the report in a new window.
    If no reports found then a msg needs to be displayed in the new window.
    <h:form styleClass="form" id="form2" target="_blank">
    Report Date
    <t:inputCalendar id="dtTo" required="true" value="#{controlDBean.reportDate}" renderAsPopup="true"   
            popupWeekString="week" renderPopupButtonAsImage="true" popupDateFormat="MM/dd/yyyy" size="12"
            maxlength="10"     forceId="true"      popupButtonStyleClass="calendar"
            title="MM/DD/YYYY"     popupButtonImageUrl="../../images/calendar.gif">
    <f:convertDateTime type="date" pattern="MM/dd/yyyy" />
    <div style = "FONT-SIZE: 8pt; FONT-FAMILY: Arial; COLOR: RED;"><h:message for="dtTo" /></div>                                                  </t:inputCalendar>
    <hx:commandExButton type="submit" value="Retrieve"  id="button1" action="#controlDBean.frmRetrieveReport}"></hx:commandExButton></td>this works fine...
    But even when the validation on the date field fails..it takes me to the new window with the message rather than staying on the current page.
    How can this be achieved at the button level rather than the form level?/
    Any help is really appreciated.
    Thanks!!

    whether this is useful ?
    I am using string field here.
    public StringField(java.lang.String name,
    java.lang.Object listener,
    java.lang.String callback,
    java.lang.String value)Constructs a StringField
    Parameters:
    name - Name of field
    listener - Listener to update
    callback - Callback of listener
    value - Value of field
    -Arun

  • Install grid infrastructure fails due to oracle net configuration a failure

    hello guys,
    I installed software only then tried to install grid infrastructure standalone server along with ASM then i got an error
    [main] [ 2010-10-16 05:13:15.094 EET ] [RuntimeExec.runCommand:164] CRS-212: Resource 'ora.crsd' is not registered.
    [main] [ 2010-10-16 05:13:15.095 EET ] [RuntimeExec.runCommand:170] RunTimeExec: error>
    [main] [ 2010-10-16 05:13:15.097 EET ] [RuntimeExec.runCommand:192] Returning from RunTimeExec.runCommand
    [main] [ 2010-10-16 05:13:15.104 EET ] [ConfigureListener.setListenerParam:1779] Setting ADR_BASE_LISTENER: /oracle/app/oracle
    [main] [ 2010-10-16 05:13:15.284 EET ] [EndpointsImpl.<init>:276] Get listener endpoints from TCP:1521
    [main] [ 2010-10-16 05:13:15.286 EET ] [EndpointsImpl.<init>:302] Token count is 1
    [main] [ 2010-10-16 05:13:15.312 EET ] [EndpointsImpl.<init>:324] LsnrProtocol type = TCP, values = 1521
    [main] [ 2010-10-16 05:13:15.318 EET ] [EndpointsImpl$LsnrProtocol.addPortValue:86] Calling parseInt to check 1521
    [main] [ 2010-10-16 05:13:15.319 EET ] [EndpointsImpl$LsnrProtocol.addPortValue:97] Get port number 1521
    [main] [ 2010-10-16 05:13:15.469 EET ] [Version.isPre:274] version to be checked 11.2.0.1.0 major version to check against10
    [main] [ 2010-10-16 05:13:15.471 EET ] [Version.isPre:285] isPre.java: Returning FALSE
    [main] [ 2010-10-16 05:13:15.472 EET ] [OCR.loadLibrary:308]
    Inside constructor of OCR
    [main] [ 2010-10-16 05:13:15.482 EET ] [OCR.isCluster:939] Calling OCRNative for isCluster()
    [main] [ 2010-10-16 05:13:15.486 EET ] [OCR.isCluster:943] OCR Result status = true
    [main] [ 2010-10-16 05:13:15.487 EET ] [OCR.isCluster:955] Bolean result = false
    [main] [ 2010-10-16 05:13:15.505 EET ] [Version.isPre:274] version to be checked 11.2.0.1.0 major version to check against10
    [main] [ 2010-10-16 05:13:15.527 EET ] [Version.isPre:285] isPre.java: Returning FALSE
    [main] [ 2010-10-16 05:13:15.530 EET ] [OCR.loadLibrary:308]
    Inside constructor of OCR
    [main] [ 2010-10-16 05:13:15.533 EET ] [OCR.isCluster:939] Calling OCRNative for isCluster()
    [main] [ 2010-10-16 05:13:15.535 EET ] [OCR.isCluster:943] OCR Result status = true
    [main] [ 2010-10-16 05:13:15.536 EET ] [OCR.isCluster:955] Bolean result = false
    [main] [ 2010-10-16 05:13:15.581 EET ] [HASContext.<init>:100] moduleInit = 67
    [main] [ 2010-10-16 05:13:15.583 EET ] [sPlatform.isHybrid:67] osName=Linux osArch=i386 rc=false
    [main] [ 2010-10-16 05:13:15.590 EET ] [sPlatform.isHybrid:67] osName=Linux osArch=i386 rc=false
    [main] [ 2010-10-16 05:13:15.591 EET ] [Library.load:254] Loading library /oracle/app/oracle/product/11.2.0/grid/lib/libsrvmhas11.so
    [main] [ 2010-10-16 05:13:15.967 EET ] [CRSNativeResult.addComp:162] add comp: name ora.LISTENER.lsnr, rc 210, msg CRS-0210: Could not find resource 'ora.LISTENER.lsnr'.
    [main] [ 2010-10-16 05:13:16.020 EET ] [CRSNative.isEntityRegistered:672] entity: ora.LISTENER.lsnr, type: 1, registered: false
    [main] [ 2010-10-16 05:13:16.099 EET ] [Version.isPre:274] version to be checked 11.2.0.1.0 major version to check against10
    [main] [ 2010-10-16 05:13:16.101 EET ] [Version.isPre:285] isPre.java: Returning FALSE
    [main] [ 2010-10-16 05:13:16.102 EET ] [OCR.loadLibrary:308]
    Inside constructor of OCR
    [main] [ 2010-10-16 05:13:16.103 EET ] [OCR.isCluster:939] Calling OCRNative for isCluster()
    [main] [ 2010-10-16 05:13:16.108 EET ] [OCR.isCluster:943] OCR Result status = true
    [main] [ 2010-10-16 05:13:16.109 EET ] [OCR.isCluster:955] Bolean result = false
    [main] [ 2010-10-16 05:16:25.268 EET ] [PortAvailableCommand.execute:198] Port 1521 is available on node primary.localdomain
    [main] [ 2010-10-16 05:16:25.297 EET ] [NodeAppsFactoryImpl.checkPortHelper:1525] port=1521 availability status=true across nodeList=local node
    [main] [ 2010-10-16 05:16:25.848 EET ] [CRSNativeResult.addComp:162] add comp: name ora.listener.type, rc 210, msg CRS-0210: Could not find resource 'ora.listener.type'.
    [main] [ 2010-10-16 05:16:25.861 EET ] [CRSNative.isEntityRegistered:672] entity: ora.listener.type, type: 2, registered: false
    [main] [ 2010-10-16 05:16:26.028 EET ] [CRSNativeResult.addComp:162] add comp: name ora.local_resource.type, rc 210, msg CRS-0210: Could not find resource 'ora.local_resource.type'.
    [main] [ 2010-10-16 05:16:26.038 EET ] [CRSNative.isEntityRegistered:672] entity: ora.local_resource.type, type: 2, registered: false
    [main] [ 2010-10-16 05:16:26.222 EET ] [CRSNativeResult.addComp:162] add comp: name ora.local_resource.type, rc 210, msg CRS-0210: Could not find resource 'ora.local_resource.type'.
    [main] [ 2010-10-16 05:16:26.231 EET ] [CRSNative.isEntityRegistered:672] entity: ora.local_resource.type, type: 2, registered: false
    [main] [ 2010-10-16 05:16:26.246 EET ] [CRSNative.register:1133] About to register: name: ora.local_resource.type, type: 2, update: false, force: false
    [main] [ 2010-10-16 05:16:26.384 EET ] [CRSNative.register:1141] Name: 'ALIAS_NAME', Value: ''
    [main] [ 2010-10-16 05:16:26.413 EET ] [CRSNative.register:1141] Name: 'BASE_TYPE', Value: 'local_resource'
    [main] [ 2010-10-16 05:16:26.421 EET ] [CRSNative.register:1141] Name: 'DESCRIPTION', Value: 'CRS resource type for the Oracle Local Resource'
    [main] [ 2010-10-16 05:16:26.427 EET ] [CRSNative.register:1141] Name: 'RESTART_ATTEMPTS', Value: '5'
    [main] [ 2010-10-16 05:16:26.434 EET ] [CRSNative.register:1141] Name: 'UPTIME_THRESHOLD', Value: '1d'
    [main] [ 2010-10-16 05:16:26.441 EET ] [CRSNative.register:1141] Name: 'AUTO_START', Value: 'restore'
    [main] [ 2010-10-16 05:16:26.517 EET ] [CRSNative.register:1141] Name: 'ENABLED', Value: '1'
    [main] [ 2010-10-16 05:16:26.531 EET ] [CRSNative.register:1141] Name: 'VERSION', Value: ''
    [main] [ 2010-10-16 05:16:26.544 EET ] [CRSNative.register:1141] Name: 'NLS_LANG', Value: ''
    [main] [ 2010-10-16 05:16:26.552 EET ] [CRSNative.register:1141] Name: 'USR_ORA_ENV', Value: ''
    [main] [ 2010-10-16 05:16:26.559 EET ] [CRSNative.register:1141] Name: 'START_DEPENDENCIES', Value: ''
    [main] [ 2010-10-16 05:16:26.595 EET ] [CRSNative.register:1141] Name: 'STOP_DEPENDENCIES', Value: ''
    [main] [ 2010-10-16 05:16:27.340 EET ] [CRSNativeResult.addLine:106] callback: ora.local_resource.type true CRS-2618: Cannot change data type INT of existing attribute ENABLED to type STRING.
    [main] [ 2010-10-16 05:16:27.357 EET ] [CRSNativeResult.addLine:106] callback: ora.local_resource.type true CRS-2618: Cannot change data type INT of existing attribute RESTART_ATTEMPTS to type STRING.
    [main] [ 2010-10-16 05:16:28.400 EET ] [CRSNativeResult.addComp:162] add comp: name ora.listener.type, rc 210, msg CRS-0210: Could not find resource 'ora.listener.type'.
    [main] [ 2010-10-16 05:16:28.419 EET ] [CRSNative.isEntityRegistered:672] entity: ora.listener.type, type: 2, registered: false
    [main] [ 2010-10-16 05:16:28.431 EET ] [CRSNative.register:1133] About to register: name: ora.listener.type, type: 2, update: false, force: false
    [main] [ 2010-10-16 05:16:28.440 EET ] [CRSNative.register:1141] Name: 'BASE_TYPE', Value: 'ora.local_resource.type'
    [main] [ 2010-10-16 05:16:28.448 EET ] [CRSNative.register:1141] Name: 'DESCRIPTION', Value: 'CRS resource type for the Listener'
    [main] [ 2010-10-16 05:16:28.457 EET ] [CRSNative.register:1141] Name: 'AGENT_FILENAME', Value: '%CRS_HOME%/bin/oraagent%CRS_EXE_SUFFIX%'
    [main] [ 2010-10-16 05:16:28.486 EET ] [CRSNative.register:1141] Name: 'ACTION_SCRIPT', Value: ''
    [main] [ 2010-10-16 05:16:28.495 EET ] [CRSNative.register:1141] Name: 'ORACLE_HOME', Value: '%CRS_HOME%'
    [main] [ 2010-10-16 05:16:28.505 EET ] [CRSNative.register:1141] Name: 'START_TIMEOUT', Value: '180'
    [main] [ 2010-10-16 05:16:28.513 EET ] [CRSNative.register:1141] Name: 'ENDPOINTS', Value: 'TCP:1521'
    [main] [ 2010-10-16 05:16:28.568 EET ] [CRSNative.register:1141] Name: 'PORT', Value: '1521'
    [main] [ 2010-10-16 05:16:28.577 EET ] [CRSNative.register:1141] Name: 'USR_ORA_OPI', Value: 'false'
    [main] [ 2010-10-16 05:16:28.713 EET ] [CRSNative.register:1141] Name: 'DEFAULT_TEMPLATE', Value: 'PROPERTY(RESOURCE_CLASS=listener) PROPERTY(LISTENER_NAME=PARSE(%NAME%, ., 2))'
    [main] [ 2010-10-16 05:16:28.890 EET ] [CRSNativeResult.addLine:106] callback: ora.listener.type true CRS-2618: Cannot change data type INT of existing attribute START_TIMEOUT to type STRING.
    [main] [ 2010-10-16 05:16:29.688 EET ] [Util.<init>:86] Util Instance created.
    [main] [ 2010-10-16 05:16:29.816 EET ] [HASContext.getCRSHome:507] /oracle/app/oracle/product/11.2.0/grid
    [main] [ 2010-10-16 05:16:29.821 EET ] [Util.getCRSHome:542] getCRSHome: ret=/oracle/app/oracle/product/11.2.0/grid
    [main] [ 2010-10-16 05:16:29.834 EET ] [ListenerImpl.getOracleHomeVal:1323] crshome is /oracle/app/oracle/product/11.2.0/grid
    [main] [ 2010-10-16 05:16:29.839 EET ] [ListenerImpl.getOracleHomeVal:1324] oraclehome is /oracle/app/oracle/product/11.2.0/grid
    [main] [ 2010-10-16 05:16:29.845 EET ] [ListenerImpl.create:534] Creating Resource
    [main] [ 2010-10-16 05:16:30.290 EET ] [CRSNativeResult.addComp:162] add comp: name ora.LISTENER.lsnr, rc 210, msg CRS-0210: Could not find resource 'ora.LISTENER.lsnr'.
    [main] [ 2010-10-16 05:16:30.302 EET ] [CRSNative.isEntityRegistered:672] entity: ora.LISTENER.lsnr, type: 1, registered: false
    [main] [ 2010-10-16 05:16:30.313 EET ] [CRSNative.register:1133] About to register: name: ora.LISTENER.lsnr, type: 1, update: false, force: false
    [main] [ 2010-10-16 05:16:30.321 EET ] [CRSNative.register:1141] Name: 'TYPE', Value: 'ora.listener.type'
    [main] [ 2010-10-16 05:16:30.331 EET ] [CRSNative.register:1141] Name: 'DESCRIPTION', Value: 'CRS resource type for the Listener'
    [main] [ 2010-10-16 05:16:30.338 EET ] [CRSNative.register:1141] Name: 'AGENT_FILENAME', Value: '%CRS_HOME%/bin/oraagent%CRS_EXE_SUFFIX%'
    [main] [ 2010-10-16 05:16:30.345 EET ] [CRSNative.register:1141] Name: 'ACTION_SCRIPT', Value: ''
    [main] [ 2010-10-16 05:16:30.353 EET ] [CRSNative.register:1141] Name: 'ORACLE_HOME', Value: '%CRS_HOME%'
    [main] [ 2010-10-16 05:16:30.360 EET ] [CRSNative.register:1141] Name: 'START_TIMEOUT', Value: '180'
    [main] [ 2010-10-16 05:16:30.466 EET ] [CRSNative.register:1141] Name: 'ENDPOINTS', Value: 'TCP:1521'
    [main] [ 2010-10-16 05:16:30.484 EET ] [CRSNative.register:1141] Name: 'PORT', Value: '1521'
    [main] [ 2010-10-16 05:16:30.516 EET ] [CRSNative.register:1141] Name: 'USR_ORA_OPI', Value: 'false'
    [main] [ 2010-10-16 05:16:30.526 EET ] [CRSNative.register:1141] Name: 'DEFAULT_TEMPLATE', Value: 'PROPERTY(RESOURCE_CLASS=listener) PROPERTY(LISTENER_NAME=PARSE(%NAME%, ., 2))'
    [main] [ 2010-10-16 05:16:30.538 EET ] [CRSNative.register:1141] Name: 'VERSION', Value: '11.2.0.1.0'
    [main] [ 2010-10-16 05:16:31.184 EET ] [ConfigureListener.isPortFree:1010] Checking if port 1521 is free on local machine...
    [main] [ 2010-10-16 05:16:31.195 EET ] [ConfigureListener.isPortFree:1023] InetAddress.getByName(127.0.0.1): /127.0.0.1
    [main] [ 2010-10-16 05:16:31.219 EET ] [ConfigureListener.isPortFree:1025] Local host IP address: primary.localdomain/192.168.1.80
    [main] [ 2010-10-16 05:16:31.223 EET ] [ConfigureListener.isPortFree:1027] Local host name: primary.localdomain
    [main] [ 2010-10-16 05:16:31.229 EET ] [ConfigureListener.isPortFree:1039] Creating ServerSocket on Port:1521, IP Address: primary.localdomain/192.168.1.80
    [main] [ 2010-10-16 05:16:31.243 EET ] [ConfigureListener.isPortFree:1075] java.net.PlainSocketImpl.socketBind(Native Method)
    java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
    java.net.ServerSocket.bind(ServerSocket.java:319)
    java.net.ServerSocket.<init>(ServerSocket.java:185)
    oracle.net.ca.ConfigureListener.isPortFree(ConfigureListener.java:1041)
    oracle.net.ca.ConfigureListener.startOrStopListener(ConfigureListener.java:1118)
    oracle.net.ca.ConfigureListener.typicalConfigure(ConfigureListener.java:256)
    oracle.net.ca.SilentConfigure.performSilentConfigure(SilentConfigure.java:185)
    oracle.net.ca.InitialSetup.<init>(NetCA.java:4159)
    oracle.net.ca.NetCA.main(NetCA.java:405)
    *[main] [ 2010-10-16 05:16:31.249 EET ] [ConfigureListener.isPortFree:1088] Returning is Port 1521 free: false*
    my firewall is offline so what prevents oracle from using that port i tried also to use another port but i am getting the same error.
    Please advise.
    Mohamed

    Hi Mohammed,
    [main] [ 2010-10-16 05:16:31.249 EET ] [ConfigureListener.isPortFree:1088] Returning is Port 1521 free: falseMake sure that no listener service is running on port 1521.
    Its returning value false while checking free port for 1521.
    Regards,
    X A H E E R

  • (261680070) Q SYNCH-11 How do my web service methods accees EJBs and java classes?

    A<SYNCH-11> How do my web service methods accees EJBs and java classes?
    A<SYNCH-11> It is simple to use java classes, just do it as you would ordinarily.
    The .jws file really contains a simple class so you can program with it in the same
    way that you would use a regular Java class.
    To use an EJB you can go and access it directly as you would with any EJB remote
    client (lookup home stub, create, etc) or if the EJB is deployed to WLS you can use
    a control to provide a very simple wrapper to the EJB. We will see this in detail
    on Thursday in the ADVC module.

    Futher information about the possibility of callback:
    It may be possible for a synchronous only web service (i.e. MS .net) to even paticipant
    in the callback functionality of asynchronous web services. If the client implements
    the appropriate methods for the callback but listens for them on a different port
    or binding than the SOAP request, then web service may be able to build a response
    if the client's "callback URL" is submitted as the beginning part of a conversation.
    Watch the BEA developer forum (http://dev2dev.bea.com) for more information about
    this approach and other tips and techniques for building web services.
    "Adam FitzGerald" <[email protected]> wrote:
    >
    Q<SYNCH-03> I heard that MS .net only implements synchrnonus method? If
    this is true.
    Does it means my async methods will only work with J2EE clients?
    A<SYNCH-03> I do not know the limitations of .net but let me point out that
    is very
    difficult to provide asynchronous web service method invocation (this is
    different
    from an asynchronous web service). HTTP as a general communication protocol
    is based
    on a request and response paradigm so your client libraries will mostly
    likely be
    expecting a response even if it is empty (check the asynchronous example
    from today
    to see that the start method still returns an empty response). You must
    distinguish
    this from the notion of an asynchronous web service which is a business
    operation
    that occurs on the server whose return value/result is not directly associated
    with
    building response to the client. An asynchronous web service can (and generally
    will)
    be started and stopped with web service operations that are invoked synchronously.
    Thus MS .net clients can still be client to WLS hosted web services.

  • (261205913) Q SYNCH-14 Is the client behavior still synchronous for buffered methods?

    Q<SYNCH-14> Is the client behavior still synchronous for buffered methods?
    Q<SYNCH-14> For buffered methods the client invocation is essentially asynchronous
    since the return type for the method is void. Quote from BEA Workshop documentation:
    If you add a message buffer to a method of your web service, incoming messages
    (invocations of the method) are buffered on the local machine. The method invocation
    returns to the client immediately. This prevents the client from waiting until
    your web service processes the request. Note that since the buffering occurs on
    your end of the wire, the client still must wait for the network roundtrip even
    though it will return a void result. But the client does not have to wait for
    your service to process the message

    Futher information about the possibility of callback:
    It may be possible for a synchronous only web service (i.e. MS .net) to even paticipant
    in the callback functionality of asynchronous web services. If the client implements
    the appropriate methods for the callback but listens for them on a different port
    or binding than the SOAP request, then web service may be able to build a response
    if the client's "callback URL" is submitted as the beginning part of a conversation.
    Watch the BEA developer forum (http://dev2dev.bea.com) for more information about
    this approach and other tips and techniques for building web services.
    "Adam FitzGerald" <[email protected]> wrote:
    >
    Q<SYNCH-03> I heard that MS .net only implements synchrnonus method? If
    this is true.
    Does it means my async methods will only work with J2EE clients?
    A<SYNCH-03> I do not know the limitations of .net but let me point out that
    is very
    difficult to provide asynchronous web service method invocation (this is
    different
    from an asynchronous web service). HTTP as a general communication protocol
    is based
    on a request and response paradigm so your client libraries will mostly
    likely be
    expecting a response even if it is empty (check the asynchronous example
    from today
    to see that the start method still returns an empty response). You must
    distinguish
    this from the notion of an asynchronous web service which is a business
    operation
    that occurs on the server whose return value/result is not directly associated
    with
    building response to the client. An asynchronous web service can (and generally
    will)
    be started and stopped with web service operations that are invoked synchronously.
    Thus MS .net clients can still be client to WLS hosted web services.

  • Failover callback not called when listener dies

    I need to create a RAC-aware Pro*C application.
    I got the preconfigured VirtualBox images with OL 5 and RAC nodes.
    The listener is installed on both machines too. They share a single IP address for the listener, which I added to the hosts file:
    192.168.56.201   rac-scan.localdomain    rac-scanActually, the cluster decides to create a virtual network adapter on one of the nodes and this address is assigned to it and then the listener becomes awailable. When this node dies, the cluster starts the listener on another node.
    I don't know, whether it's a proper way. I heard that the listener should be on a separate machine.
    But the problem is: when I turn off the node my client program is connected to, the failover callback function is not called. The next oracle operation fails with "ORA-03114: not connected to ORACLE".
    I followed http://docs.oracle.com/cd/A91202_01/901_doc/appdev.901/a89857/oci09adv.htm#428924 and https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=415245.1 to create the sample program that registers the callback.
    Could it be that the failover only works when the DB service fails, but not the listener?

    The problem was bad connection string

  • Multiple callback from cache listener

    We added a map listener in the coherence-cache-config.xml file that just prints out details of the MapEvent object. Each time we add an item to the cache the listener gets called twice once with a Map being a SafeNamedCache object and a second time with the Map pointing to the Cache object we configured in the file. Please could you explain why we see two callbacks. Assuming that this behavour which event should we react to (and why).
    Many thanks
    Jules
    java -Dtangosol.coherence.cacheconfig=./coherence-cache-config-test.xml com.tangosol.net.CacheFactory******************************************************************************
    * Tangosol Coherence(tm): Enterprise Edition is licensed by Tangosol, Inc.
    * License details are available at: http://www.tangosol.com/license.jsp
    * Licensed for evaluation use with the following restrictions:
    * Effective Date : 1 Nov 2005 00:00:00 GMT
    * Termination Date : 1 Jan 2006 00:00:00 GMT
    * A production license is required for production use.
    * Copyright (c) 2000-2005 Tangosol, Inc.
    Tangosol Coherence Version 3.0.1/317
    SafeCluster: Group{Address=224.3.0.0, Port=30315, TTL=4}
    MasterMemberSet
    ThisMember=Member(Id=1, Timestamp=Fri Nov 11 15:29:16 GMT 2005, Address=10.129
    .23.94, Port=8088, MachineId=40030)
    OldestMember=Member(Id=1, Timestamp=Fri Nov 11 15:29:16 GMT 2005, Address=10.1
    29.23.94, Port=8088, MachineId=40030)
    ActualMemberSet=MemberSet(Size=1, BitSetCount=2
    Member(Id=1, Timestamp=Fri Nov 11 15:29:16 GMT 2005, Address=10.129.23.94, P
    ort=8088, MachineId=40030)
    RecycleMillis=240000
    RecycleSet=MemberSet(Size=0, BitSetCount=0
    TcpRing{TcpSocketAccepter{State=STATE_OPEN, ServerSocket=10.129.23.94:8088}, Con
    nections=[]}
    ClusterService{Name=Cluster, State=(SERVICE_STARTED, STATE_JOINED), Id=0, Versio
    n=3.0, OldestMemberId=1}
    Map (?): cache GED-test5
    <local-scheme>
    <scheme-name>example-backing-map</scheme-name>
    <eviction-policy>HYBRID</eviction-policy>
    <high-units>0</high-units>
    <expiry-delay>1h</expiry-delay>
    <flush-delay>1m</flush-delay>
    <listener>
    <class-scheme>
    <class-name>Listener</class-name>
    </class-scheme>
    </listener>
    <cachestore-scheme/>
    </local-scheme>
    Map (GED-test5): bulkput 1 100 1
    Fri Nov 11 15:29:42 GMT 2005: adding 1 items (starting with #1) each 100 bytes .
    ADDING ******************** key 1, this=Listener@bc8e1e id= 1 map= SafeNamedCa
    che: CacheHandler{Name=GED-test5, ServiceName=LocalCache} old null new [B@1167
    1b2
    ADDING ******************** key 1, this=Listener@82764b id= 1 map= Cache {
    [0]: key="1", value="[B@11671b2", priority=0, created=15:29:42, last-use=15:29:4
    2, expiry=16:29:42, use-count=0, units=1
    } old null new [B@11671b2
    Fri Nov 11 15:29:42 GMT 2005: done putting (31ms)
    Map (GED-test5):<br><br> <b> Attachment: </b><br><a href="http://www.oracle.com/technology/sample_code/products/coherence/187.bin">Listener.java</a> <br> (*To use this attachment you will need to rename 187.bin to Listener.java after the download is complete.)<br><br> <b> Attachment: </b><br><a href="http://www.oracle.com/technology/sample_code/products/coherence/188.bin">coherence-cache-config-test.xml</a> <br> (*To use this attachment you will need to rename 188.bin to coherence-cache-config-test.xml after the download is complete.)

    Hi Jules,
    I have reproduced this here (thanks for the files) with a 'local-scheme'. I then added a 'distributed-scheme' using the same 'local-scheme' and added data to the cache and the listener was only called once. Here is the output when using the attached cache configuraion:
    Tangosol Coherence Version 3.1/321
    SafeCluster: Group{Address=224.3.1.0, Port=31321, TTL=4}
    MasterMemberSet
    ThisMember=Member(Id=1, Timestamp=Fri Nov 11 12:15:07 EST 2005, Address=192.168.0.248, Port=8088, MachineId=26872)
    OldestMember=Member(Id=1, Timestamp=Fri Nov 11 12:15:07 EST 2005, Address=192.168.0.248, Port=8088, MachineId=26872)
    ActualMemberSet=MemberSet(Size=1, BitSetCount=2
    Member(Id=1, Timestamp=Fri Nov 11 12:15:07 EST 2005, Address=192.168.0.248, Port=8088, MachineId=26872)
    RecycleMillis=240000
    RecycleSet=MemberSet(Size=0, BitSetCount=0
    TcpRing{TcpSocketAccepter{State=STATE_OPEN, ServerSocket=192.168.0.248:8088}, Connections=[]}
    ClusterService{Name=Cluster, State=(SERVICE_STARTED, STATE_JOINED), Id=0, Version=3.0, OldestMemberId=1}
    Map (?): cache dist
    <distributed-scheme>
      <scheme-name>example-distributed</scheme-name>
      <service-name>DistributedCache</service-name>
      <backing-map-scheme>
        <local-scheme>
          <scheme-ref>example-backing-map</scheme-ref>
        </local-scheme>
      </backing-map-scheme>
      <autostart>true</autostart>
    </distributed-scheme>Map (dist): put 1 1
    ADDING ******************** key Binary(length=2, value=0x0101), this=Listener@1a116c9 id= 1 map= Cache {
    [0]: key="Binary(length=2, value=0x0101)", value="Binary(length=2, value=0x0101)", priority=0, created=12:15:20, last-use=12:15:20, expiry=1
    3:15:20, use-count=0, units=1
    } old null new Binary(length=2, value=0x0101)
    null
    Map (dist): cache local
    <local-scheme>
      <scheme-name>example-backing-map</scheme-name>
      <eviction-policy>HYBRID</eviction-policy>
      <high-units>0</high-units>
      <expiry-delay>1h</expiry-delay>
      <flush-delay>1m</flush-delay>
      <listener>
        <class-scheme>
          <class-name>Listener</class-name>
        </class-scheme>
      </listener>
    </local-scheme>Map (local): put 1 1
    ADDING ******************** key 1, this=Listener@13e58d4 id= 1 map= SafeNamedCache: CacheHandler{Name=local, ServiceName=LocalCache} old
    null new 1
    ADDING ******************** key 1, this=Listener@39e5b5 id= 1 map= Cache {
    [0]: key="1", value="1", priority=0, created=12:15:29, last-use=12:15:29, expiry=13:15:29, use-count=0, units=1
    } old null new 1
    null
    Map (local):
    I will have to pass this along to engineering. I should have more for you by the end of the day.
    Later,
    Rob Misek
    Tangosol, Inc.<br><br> <b> Attachment: </b><br>coherence-cache-config-listener-test.xml <br> (*To use this attachment you will need to rename 189.bin to coherence-cache-config-listener-test.xml after the download is complete.)

  • Time of callback: Asynchronously receiving messages using a listener class

    I was developing a small JMS client that registers a message listener for receiving text messages from a JMS provider. The program is single threaded.
    I wanted to know when exactly the "onMessage" method is invoked for processing received messages. My client could be performing other processing tasks after registering the listener. In such a scenario, on arrival of a message, when does the program flow jump to the onMessage method? Is it as soon as a message arrives (in which case, the client could be abruptly interuptted in the midst of some processing/system call) ? If so, does the execution return to the exact point of interuption after the onMessage method returns? Or does the java runtime environment implicitly spawn a thread for processing the message?
    If the answer to my questions is the former, then does it mean that such clients are best written as multi threaded programs??
    Any pointers on this aspect would be greatly appreciated....

    Hi,
    Even if the JMS specification says that a session is single threaded, asynchronous messages are processed within their own thread. As a programmer (a JMS API user) you don�t have to worry about implementation details. The only thing you have to know is that:
    1) Your JMS server pushes messages to your asynchronous listeners upon availability
    2) Asynchronous messages are sequentially processed on the session level (concurrency is achieved by using several sessions)
    3) Using ExceptionListener allows a client application to be asynchronously notified of a problem (this is useful to do some cleaning or reconnection operations)
    I hope this helps
    Arnaud
    www.arjuna.com

  • Photoshop CC 2014 Extension - CEP Event callback is triggered multiple times per single event

    Trying to make my extensions listen for bunch of events and it's turning out to be a real pain in the ***.
    I'm hoping there's someone here who has a bit more experience playing around with these.
    I used the example code from here ( Page 43 ): http://wwwimages.adobe.com/content/dam/Adobe/en/devnet/creativesuite/pdfs/CC14_Extension_S DK.pdf
    I've modified the code just a little. I removed some unnecessary things from it. I also added a counter, to try to visualize the issue.
    Every time I pasted the code here, the global variable seemed to duplicate. So, eeeeh...  the example code can be found here.
    The problem is:
    I close one document to trigger the event, but for some reason the callback seems to run multiple times.
    Even better, it doesn't seem to be super consistent about it. Sometimes it repeats only couple of times and sometimes it repeats 160 times.
    It seems like every time the extension panel is reopened, it comes up with a new number.
    Currently, if I close a document, it seems to trigger the callback 15 times
    Since this is screenshot, you'll have to take my word for it. I only closed a single document and the code ran 15 times.
    Am I doing something wrong by any chance?
    edit:
    I believe I just found out the reason and a way to recreate the issue.
    I've occasionally tested the extension by closing and opening the panel, which seems to have caused the issue.
    It looks like every time I close and then open the panel, it... adds one more run time to the stack.
    - Refreshing the panel from chrome doesn't seem to affect it.
    When I restart photoshop, it resets. So after the very first opening of the panel, the event triggers the callback only once.
    I forgot to mention that the host application events work just fine without these issues.
    In fact, I tried to use documentAfterActivate before, but as far as I could find, there is no way to kind of filter out specific events within host application events.
    For instance, I can't specify something different to happen when a new document is opened.
    As very much a side note:
    documentAfterActivate has its own side effect due to the way photoshop works.
    It is triggered when you:
    Create a new document
    Open a new document
    Switch to an open document
    It's the "Switch to an open document" part that makes this event listener also trigger when you close a document.
    Because when you close a document, photoshop switches back to the previous document and that in turn triggers the event listener when it shouldn't, I suppose.
    Of course it doesn't trigger the event when you close the last document as there is no document to switch to at that point.
    ...but this is beyond the scope of the original question.

    I was so tired last night that when I found out the cause of it, I never even thought about unregistering...
    I decided to unregister it when the panel is opened instead.
    This does indeed get rid of the issue.
    Thanks, cbuliarca.
    (function () {
      var csInterface = new CSInterface();
      function init() {
           themeManager.init();
           function registerPhotoshopEvent(in_eventId, register) {
                // Added the next line
                var register = register === "clear" ? "UnRegisterEvent" : "RegisterEvent";
                // Modified the next line
                var event = new CSEvent("com.adobe.Photoshop" + register, "APPLICATION");
                event.extensionId = csInterface.getExtensionID();
                event.appId = csInterface.getApplicationID();
                event.data = in_eventId
                csInterface.dispatchEvent(event);
           var number = 0;
           csInterface.addEventListener("PhotoshopCallback" , function(event) {
                number = number + 1;
                console.log( number );
           var closeEventid = "1131180832"
           // Added the next line
           registerPhotoshopEvent(closeEventid, "clear");
           registerPhotoshopEvent(closeEventid);
      init();

  • Listening for the end of a movie

    Hi, I have some code that loads a movieclip into an empty
    clip
    var container:MovieClip =
    this.createEmptyMovieClip("container", this.getNextHighestDepth());
    container.attachMovie("twdc_mc", "twdc_mc", 1, {_x:300,
    _y:275});
    then i want to wait until the end of the movieclip, unload it
    and load another in its place - all without leaving frame one of my
    main timeline...so my initial thought was to add this:
    function getframes(numFrames,totalFrames) {
    if (numFrames == totalFrames){
    trace("removed") //changed the return variable to this for
    testing
    container.twdc_mc.onEnterFrame =
    getframes(container.twdc_mc._currentframe,container.twdc_mc._totalframes);
    (the use of a function because i want to re-use it)
    the problem is that the if statement is parsed and evaluated
    to false immediately, then it moves on to the next statement
    without looking back despite the existance of the onEnterFrame
    function
    So my question is how can I listen for this event without the
    need to add unLoad or removeMovieClip to the end of the offending
    mc?
    Thankyou in advance for any replies, I'm trying hard to get
    to grips with "as" but Im a php boy at heart and really struggling!
    Sam

    Hi Sam,
    in AS, you can't pass parameters to an event or callback
    function like onEnterFrame this way. You can either pass a function
    reference (without brackets, otherwise the function would execute
    immediately and the event is undefined after that):
    container.twdc_mc.onEnterFrame = getframes;
    or define a function 'on the fly':
    container.twdc_mc.onEnterFrame = function(){
    Since you want to use the first way, getframes() can't have
    any parameters, but instead it can use the scope of the event it is
    bound to through the 'this' keyword:
    function getframes() {
    // trace(this._totalframes);
    if (this._currentframe == this._totalframes){
    trace("removed")
    Now 'this' depends on the scope in which getframes() is
    called, so you can use it with the onEnterFrame event of the loaded
    clip:
    container.twdc_mc.onEnterFrame = getframes;
    and it will compare twdc_mc's position to it's end. Bound to
    another MC it would take that MC's values.
    cheers,
    blemmo

  • Why does messages go into Recovery Callback Queue - urgent

    Env : BPEL 10.1.3.4 , Web logic 9.2
    Scenario:
    We have a process(Lets say A) putting messages from into a MQ(lets say Q1).
    Another Application processes the messages from Q1 and puts some messages into another Queue (Q2).
    We have another process B (Lets say B) which reads from this Q2 and calls the Process A’s callback operation(using right correlation parameters) thus releasing “receive” acitivty of Process A and hence flow goes further.
    Problem :
    While the above scenario is working as expected for some cases(approx. 60%) we observed the following :
    i)     A’s receive activity is still waiting to receive a callback from B.
    ii)     All the instances where A is waiting for receive has gone to “Recovery Callback” and sits there. When we manually recover them , Process A’s receive gets executed and works as expected.
    iii)     In some cases where the flow went successfully ( ie., receive receives the callback) , receive activity received the callback long time after the message is places in Q2. ( in some cases it is 9 to 10 hrs).
    Questions:
    i)     Why does instances go into “recover callback” ? What can we do to avoid this ? ( Kindly dont suggest ways to recover, I am looking for a preventive measure)
    ii)     Process A's recieve activity sometimes receive the callback after some 9 hrs and the flow passes on. I am wondering how can this happen as "synchMaxTime" is set to 900 secs in our case ( 15 mins). I thought any instance waiting for more than 15 mins for callback should have got timedout. Is this setting only for synch calls ?
    Few other things
    1. The Process B listening to Q2 is having a delay between messages as 3.66 secs . This is to throttle messages coming so quick to bpel as it may not have sufficent threads to process all of them at a time.
    2. synchMaxTime in the Domains = 900 s
    3. JTA Timeout in weblogic server is 3000 seconds.
    This is very urgent , Kindly help with any input / suggestion you have ASAP. Thanks.
    Regards,
    Sridhar.
    Edited by: Sridhar-SOA on Jul 27, 2011 2:38 AM

    Any Updates ?

  • NAPT Firewall, RMI Callbacks and JRMP MultiplexProtocol

    Hi All,
    I am looking at having an RMI client behind a Network Address Port Translation firewall receive RMI calls back from an RMI server. NAPT makes it impossible for the client to listen for connection coming from the server through the NAPT firewall.
    This is discussed at http://www.rmiproxy.com and http://cssassociates.com/rmifirewall.html but the proposed solutions do not appear to use the MultiplexProtocol protocol defined by JRMP (http://java.sun.com/j2se/1.4.2/docs/guide/rmi/spec/rmi-protocol3.html).
    The RMI FAQ
    "How can I receive incoming RMI calls through a local firewall"?
    (http://java.sun.com/j2se/1.3/docs/guide/rmi/faq.html#firewallIn) had a section for JSSE 1.3 that explained how to use the multiplex protocol (option 4). It sounds like this option referred to the JRMP MultiplexProtocol protocol.
    The multiplex protocol option has been removed from the 1.4 FAQ
    (http://java.sun.com/j2se/1.4.2/docs/guide/rmi/faq.html#firewallIn).
    Tried the "checkListen" and "socket factory" techniques mentioned in the 1.3 FAQ without success with 1.4.2. The RMI client behind the NAPT firewall runs in a signed Applet.
    Is the ability of using the JRMP MultiplexProtocol protocol available in the JRE in order to receive incoming RMI calls through a local firewall? If yes, what do you do in order to use it?
    What is the best way to have RMI callbacks work behind NAPT?
    Thanks a lot in advance!
    Cheers
    Bertrand

    As of about JDK 1.2.2, the ability of RMI clients to negotiate the multiplex protocol was
    removed, but the server-side support remains.
    Your best answer for negotiating NAT filrewalls may be the RMI Proxy http://www.rmiproxy.com, although I could be biased as I wrote it.
    EJP

  • BindTriggerAction's callback outside of Edge Animate context

    Hi,
    I'm currently working on an animation and I would like it's be controled in external JS files through the bindTriggerAction method and his callback function.
    In Edge Animate context, the following code is actually working:
    (function ($, Edge, compId) {
        var Composition = Edge.Composition, Symbol = Edge.Symbol; // alias pour les classes Edge couramment utilisées
        //Edge symbol: 'stage'
        (function (symbolName) {
            Symbol.bindTriggerAction(compId, symbolName, "Default Timeline", 1000, function (sym, e) {
                    console.log("test");//called
            //Edge binding end
        })("stage");
        //Edge symbol end:'stage'
    })(jQuery, AdobeEdge, "EDGE-9033193");
    Next, I tried to export/adapt this code to run it outside of the Edge Animate context:
    <!DOCTYPE html>
    <html>
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
        <!--Adobe Edge Runtime-->
        <script type="text/javascript" charset="utf-8" src="test_001_edgePreload.js"></script>
        <style>.edgeLoad-EDGE-9033193 { visibility:hidden; } </style>
        <!--Adobe Edge Runtime End-->
    </head>
    <body>
    <div id="Stage" class="EDGE-9033193">
    </div>
    <script type="text/javascript">
        AdobeEdge.bootstrapCallback(function (compId) {
            AdobeEdge.Symbol.bindTimelineAction(compId[0], "stage", "Default Timeline", "complete", function (sym, e) {
                    console.log("complete...");//OK
            //my animation is 5000ms long   
            AdobeEdge.Symbol.bindTriggerAction(compId[0], "stage", "Default Timeline", 1000, function (sym, e) {
                    console.log("test");//never called...
    </script>
    </body>
    </html>
    In my second test, you'll notice that the bindTimelineAction callback works but the method bindTriggerAction callback function is no longer called and I just can't figure why.
    If someone has an idea, that's would be great !

    I'm talking about very basic jquery code here.
    In Animate, you could create a Trigger at the time (or event) you wish somecallbacks to respond to.
    Inside this, you simply dispatch an event:
    $.event.trigger({
         type: "myCustomEvt",
         message: "Hello World!"});
    You can then listen to this event from the bootstrap callback
    $(document).on("myCustomEvt", function(e) {
         console.log(e.message);
    Message was edited by: david_deraedt

Maybe you are looking for

  • PriceSlider content item always having a fixed value for 'sliderMax' and 'sliderMax'

    Hi, I am using ATG-10.2 I am trying to create the navigation with invoke assembler call (to contentCollection '/content/Shared/Guided Navigation') Everything goes well, except the price slider. sliderMin and sliderMax values are always having fixed v

  • Premier Elements install problem

    Hi, I've downloaded Premier Elements but I can't work out how to initialise installation (just downloaded and installed Photoshop elements with no problems) I can access the zipped files but no idea what to do to get it to start the install as previo

  • Where is my apple support community profile

    I have joined and can login via Safari to the Apple Support Community and when I first signed in from my Mac which runs Yosemite 10.10.1 I was asked to fill in some details to my profile.  However now I wish to update it and I cannot seem to find it.

  • Text field input !

    Looking for some kind suggestions for a text field created in the shopping cart.How do I take the user input in a variable and put it as a condition in the SQL query for an output result. i am trying hard to make it happen, but the SQL query doesn't

  • Iphone been hang for hours until battery flat! any solution to off it ???

    when i surf the net half ways, the iphone 3G jsut hang on that page with the lights on. Just cant press any button to off it or do anything on it include put a charger on it. The phone become so warm and finally automatice off it after 2 hours as bat