Pass data from servlet to EJB3 and backward

Hello All,
The distributed application is being developed by the following scheme:
J2EE Application Server (JBoss) - Servlet container (JBoss's contained Tomcat) - RIA client (Flex)
Application server needs to handle client's requests and provide backward connectivity also.
Servlets in this scheme are required by the BlazeDS library which is implemented as set of servlets handling HTTP requests from the clients.
This forces us to:
- invoke EJB from the servlet while handling client's requests.
- invoke servlet from EJB for the sake of providing the client with urgent messages which need to be displayed immediately.
The easiest ways to achieve that I am aware of are:
- servlet invokes EJB via JNDI lookup (inefficient?)
- EJB invokes servlet by passing HTTP request to web server (inefficient!)
Is there standard and efficient ways to wire servlets(JSP) and EJB in either directions?
Thanks,
Alex.

Hi Chicon,
Thanks for advice. Probably I need to add few more words to make the question clearer.
Chicon wrote:
It is not the role of an EJB to fire a servlet. EJB's are only modules.
In your case, the EJB invoked should pass the necessary data to the servlet. From the data it receives, the servlet has either to build and to send the HTML document(or other formats : pdf, txt, xml,...) or to fire the appropriate JSP to the client. The servlet may also call a more specific servlet to do the job, e.g. in a Struts like framework.- Invocation of EJB from servlet is one data flow direction. After EJB is invoked and finished, servlet gets results, makes its own job and sends data to clients either in html or binary AMF (Flex proprietary) format.
- Invokation of servlet from EJB is another data flow direction. It will be employed, when server decides to inform all interested clients about an urgent event. Client are not asking for that event explicitly, but they are ready for handling such messages from the server.
Of course, in order to achieve this, there is a need in a channel between server and each client. This is what BlazeDS for.
The first requirement could be satisfied by either JNDI lookup or (as malrawi proposed) by dependency injection.
The second one is a little bit harder... It may involve any other mediators, not necessarily the same servlets.
I am looking for the best suitable solution now.
Thanks,
Alex.

Similar Messages

  • Pass data from servlet to jsp using sendRedirect

    Hi,
    I am passing data from servlet to jsp using forward method of request dispatcher but as it doesn't change the url it is creating problems. When ever user refreshes the screen(browser refresh) it's re-loading both servlet and jsp, which i don't want to happen. I want only the jsp to be reloaded.
    Can I pass data from servlet to jsp using sendRedirect in this case. I also want to pass some values from servlet to jsp but without using query string. I want to set some attributes and send to jsp just like we do for forward method of request dispatcher.
    Is there any way i can send data using attributes(without using query string) using sendRedirect? Please let me know

    sendRedirect is meant as a true redirect. meaning
    you can use it to redirect to urls not in your
    context....with forward you couldn't pass information
    to jsps/servlets outside your own context.Actually, you can:
    getServletContext().getContext("/other").getRequestDispatcher("/path/to/servlet").forward(request, response)I think the issue here is that the OP would like to have RequestDispatcher.forward() also update the address in the client's browser. That's not possible, AFAIK. By the time the request is forwarded, the browser has already determined the URL of the servlet, and the only I know of way to have the browser change the URL to the forwarded Servlet/JSP is to send a Location: header (i.e. sendRedirect()). Remember that server-side dispatching is transparent to the client. Maybe there's some tricky stuff you can do with JavaScript to change the address in the address bar without reloading the page?
    Brian

  • Passing data from servlet to excel sheet

    i am learing servlet and JSP.It ll be of great help if i get an idea about passing the data got from JDBC from a servlet to excel sheet.

    Some terms that you can start Googling for:
    JDBC: JDBC is the standard API for Java applications to read/write data from MS Access database (or any other DBMS).
    Jakarta POI: This is one of the tools to generate dynamic Excel files on-the-fly.
    And of course, you're familiar with Servlets, right? ;)

  • Passing data from Applet to JSP and back

    What is the best way for me to communicate between an Applet and a jsp page? I want to be able to call Applet methods from the JSP and be able to send data to the JSP from the Applet. Thanks.

    Can't do this
    JSP lives on the server. When it's done, the code is sent to the client
    So, in terms of lifespan...
    JSP -> Internet -> Client -> Applet
    JSP is dead before applet starts

  • Passing data from webdynpro to BSP

    Hi Experts,
    Can anyone tell me is there any possibility of passing data from webdynpro to BSP and vice-versa.
    If so, kindly let me know.
    thanks a lot.
    regards
    vijay

    Two possible options, not sure however how this will work in practice.
    1. use the URL and pass additional parameters (http://help.sap.com/saphelp_nw70/helpdata/EN/7b/fb57412df8091de10000000a155106/content.htm)
    2. If in portal, do via portal eventing (http://help.sap.com/saphelp_nw70/helpdata/EN/f6/7d6f4151dc5758e10000000a1550b0/content.htm)

  • How do I move data from a DAQ into and out of loops and structures?

    I have a set of RTD probes set up to read data into LabView through a DAQ. This block of code is in a while loop
    that executes alongside of several other loops simultaneously. I need to use the data from the RTD probes in other
    loops and case structures specifically for logic tests.
    The problem is that I can't seem to bring the dynamic data out of the DAQ containing while loop or into the other structures.
    Any ideas?
    I have had some success with using multiple DAQs and stopping all others while I need the data inside of a case structure.
    Is there a way to reference data from a DAQ or to run multiple DAQs that read the same data from the same channels without getting a "Task in use error"?
    Thanks,
    -David

    Search the forums for Prodcuer/consumer architecture.
    This uses queues to pass data from the producer loop (such as your data acquisition loop) to other "consumer" loops.  These are the other loops where you want to use the data.
    You won't be able to use multiple DAQ Read functions at the same time.  As you've seen you get error -50103 about the resources already being in use.

  • How can I pass data from a form guide to another form in a business process

    How do we pass data from a form guide to another form(not necessarily a guide) without having to open the form. For example we have a small form guide to capture the contract id so we can then get data from contracts table to present to the user in a form. We want the user to open the guide (either Flex guide or form guide) to enter the contract id. Upon submission we want the process to get the contract data and put it into the form that will be opened at the next step by the user without having a user interact with the form to get the data into it. In other words we need the process to get the data and populate a different form than the form guide the contract id was entered in and this new form needs to be opened in the next step by the user.

    Firstly, I'm assuming that you have a Forms ES Server if you are rendering a Guide.  This could be either version ES1, ES2/2.5 or ES3/ADEP
    If you submit the form back to the server, you can populate a second (PDF/XDP) form with the data bound to the same schema/Data Model using Forms ES. 
    You referred to the next user in the chain - If you are using Process Management, this is very easy, as you define what form is used to render the data in the "Presentation & Data" section of the Assign Task activity

  • I need to pass data from an Access database to Teststand by using the built in Data step types(open data

    base /open SQL Statement etc) the first time i defined the system everything was fine but when i changed the Database (using M.S.Access) the " open SQL Statement" it would show the tables but not thier columns ,I"m using win98 sec edition / Teststand 1.0.1i need to pass data from an Access database to Teststand by using the built in Data step types(open database /open SQL Statement etc) the first time i defined the system everything was fine but when i changed the Database (using M.S.Access) the " open SQL Statement" it would show the tables but not thier columns ,I"m using win98 sec edition / Teststand 1.0.1
    When I tried the same thing on another cmputer the same thing
    happend
    appreiciate u"r help

    base /open SQL Statement etc) the first time i defined the system everything was fine but when i changed the Database (using M.S.Access) the " open SQL Statement" it would show the tables but not thier columns ,I"m using win98 sec edition / Teststand 1.0.1Hello Kitty -
    Certainly it is unusual that you can still see the tables available in your MS Access database but cannot see the columns? I am assuming you are configuring an Open Statement step and are trying to use the ring-control to select columns from your table?
    Can you tell me more about the changes you made to your file when you 'changed' it with MS Access? What version of Access are you using? What happens if you try and manually type in an 'Open Statement Dialog's SQL string such as...
    "SELECT UUT_RESULT.TEST_SOCKET_INDEX, UUT_RESULT.UUT_STATUS, UUT_RESULT.START_DATE_TIME FROM UUT_RESULT"
    Is it able to find the columns even if it can't display them? I am worried that maybe you are using a version of MS Access that is too new for the version of TestSt
    and you are running. Has anything else changed aside from the file you are editing?
    Regards,
    -Elaine R.
    National Instruments
    http://www.ni.com/ask

  • Passing data from a panel to a frame / disposing of a frame from in a panel

    Hello, I have recently created a program where all windows are made of seperate frames, now, to make the whole thing a bit more appealing and professional looking, i'd like to make 1 main frame, and load my content panels into this 1 frame. Problem i'm having with this is passing data from the loaded in panel to the main frame, so the main frame can hide one panel to load another with data inserted in the first panel. OR another solution to my problem would be a way to dispose of a frame, but from within the seperate panel class. I have searched the www for a solution, but haven't found one so far, so, any suggestions or references to some info about this kind of issue? Any pointer is greatly appreciated

    kennethdm wrote:
    EDIT: I took a look at the cardlayout, and, although i see its relevance to my question, it still leaves me with the question how exactly i will pass data the user inputs into the first panel, to the second panel. The second panel is built by the info which is provided in the first panel.Stop thinking of them as Panels and start thinking of them as OOP objects that have data that must be shared. It's often a matter of using getters and setters and sometimes requiring a sprinkling of the Observer design pattern.

  • Passing data from one frame to another frame

    hello all, i am having a problem with passing data from one frame from another. I have a main frame when you click on connect button it display the second frame(class) that has 2 text fields and 2 buttons. When i click on connect it check if the data is correct. If the data is correct i want that frame to close and pass the data back to main frame. How can i do that.
    thank you

    hello all, i am having a problem with passing data
    from one frame from another. I have a main frame when
    you click on connect button it display the second
    frame(class) that has 2 text fields and 2 buttons.
    When i click on connect it check if the data is
    correct. If the data is correct i want that frame to
    close and pass the data back to main frame. How can
    i do that.
    thank you
    the original problem sounded like an ideal opportunity to use Modal Dialog. if you want one frame to display another to get user input then you need to stop the method in the main frame from executing until you recieve a valid input.
    you can use your own class and keep all of the components that you have in the connect frame but you would have to extend JDialog instead of JFrame.
    there is a way around it!
    if you must use JFrame for both, then you need to have access to the main frame in the connect frame, maybe pass the pointer to the constructor??
    anyway, when the connect frame is done with its duties, you have to use the pointer to call another method in the main frame that will continue the process. otherwise main frame doesn't know when connect frame is done and by that time, the method in main frame that instantiated the connect frame has long since died.
    also, it allows things to happen in the other window that you may not want to happen until the connect frame is done
    typically users of software start clicking around on things and you could have three or four connect frames going at the same time
    it's really best to use a Modal Dialog, it really can look just like a JFrame!!!!!!!!!!!!!!

  • Passing data from a container to another

    Hi,
    Let's say I have two containers (Container1=application , Container2).  Container1 gets some data from user, perform some database lookup and displays Container2 with the results from database lookup.
    Container1 --(call and display)--> Container2
    Below shows  how I am using a bindable variable in Container1 to pass the data from Container1 to Container2.  Also shows how I display Container2 from Container1.
    <!-- Container1 -->
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
       [Bindable] public var foo:String = "bar";
       private function loginHandler(event:LoginEvent):void
          mycontainer2 = new Container2();
          mycontainer2.name = "mycontainer2";
          this.addChild(mycontainer2);
    </mx:Application>
    I am accessing the data in Container2 as follow:
    <!-- Container2 -->
    {mx.core.Application.application.foo}
    Q1) Is there a better way to pass data from one container to another and access the data?
    Q2) Is this the only way to call and display Container2 from Container1?
    Q3) How can I move back to Container1 from Container2, i.e. Container2 call and display Container1
           Container2 --(back to)--> Container1

    Best practices call for using custom events to share data between components. Here is my Flex 3 Cookbook post on the topic:
    http://cookbooks.adobe.com/index.cfm?event=showdetails&postId=15466
    To switch easily between containers 1 & 2 use a ViewStack, the gold standard for such interaction, and manipulate the selectedIndex or selectedChild property:
    http://livedocs.adobe.com/flex/3/html/help.html?content=navigators_3.html
    If this post answered your question or helped, please mark it as such.

  • Is it possible to pass data from a subVI before that subVI has finished executing?

    Basically this is my problem:
    1.  I have a subVI which contains a loop that reads data from a device for a specified amount of time.
    2.  I would like to graph this data in real time on the front panel of the main VI.
    So is there a way to pass data from inside the loop of my subVI to the graph of my main VI before the subVI has finished executing, and if so how do I do this?
    Thank you.

    How about using a global variable or a Queue?

  • Problem in passing data from 1 screen to another using BBP_DOC_CHANGE_BADI.

    Hi Experts,
    i am new to the SRM, i am facing problem in passing data from one screen to another.
    my requirement is that when we select one shopping cart and press the PROPOSE SOURCES OF SUPPLY button, we will fetch all the contracts that are attached to the shopping cart.
    we have implemented a BADI implementation of BBP_SOS_BADI (method BBP_SOS_CHECK) for passing some changed values to the contracts of the shopping cart into the popup screen that is displayed when we press PROPOSE SOURCES OF SUPPLY button and when we select any contract and press ASSIGN ONLY button in the popup screen the badi BBP_DOC_CHANGE_BADI is triggered.
    i have implemented another BADI implementation of BBP_DOC_CHANGE_BADI for fetching the selected contract and pass the values to another screen, but the problem is that when we select one contract and press the assign only button we are fetching the wrong contract number ( that is in the BADI method BB_SC_CHANGE parameter IT_ITEM we are fetching the wrong contract), if we again do the same procedure for the second time we are getting the correct contract.
    i am unable to understand why we are getting the wrong contract in the first time( that is we are getting contract other than the selected one).
    as per my understanding i think when we are passing data to the popup screen using BBP_DOC_CHANGE_BADI we are not updating the shopping cart with the changed data.
    can anyone tell me how we can update the SHOPPING CART with the changed contracts data, i have used BBP_PD_SC_UPDATE, BBP_PD_SC_SAVE and other shopping cart FM but nothing is happening.
    Thanks
    Tanveer

    Hello,
    What version of SRM are you on?  Have you check for OSS Notes?  I have had trouble with BBP_DOC_CHANGE_BADI but it was because of other issues.  The BADI works pretty well and it is called almost every time something happens to the shopping cart.
    I have noticed that sometimes that values are not changed til the second calling of the BADI.  I have yet understand why but I think it has to do with prompt processing. Usually, we train our requisitioners to click the 'Check'  button to flush things out.
    I don't know if I was helpful.... another thought.... could there be an error caught by BBP_DOC_CHECK_BADI that is preventing change in BBP_DOC_CHANGE_BADI?
    Regards, Dean.

  • Passing data from one bsp application to another

    Hi,
    I have few queries that most of you would have done in ur projects:
    1. I want to pass data from one bsp application to another:
    eg based upon selected row of table view which populates material no and descriprion to another application which open the entire material master data.
    Now, i have both the pages in diff bsp applications in place but unable to pass the selected material code to the second bsp application.
    Had it been two different pages of same application I was able to achieve it with set parameter()
    2. To stop the application from reprcessing the data:
    eg: Suppose I have a bsp page where user fill details of a customer and on submitinng the details a customer is created in background and the entire page is disabled by my code. Even now if the user press refresh (F5) button then another customer gets created in the background. So basically i want to avoid the reprocess of the onSubmit event
    Few lines of sample code would be very helpful.
    Best Regards,
    Saurabh Tripathi

    Hi,
    When I am writing the following code in appl1/page1:
            export abc from transactionID
            to data buffer lv_page_data.
            CALL METHOD CL_BSP_SERVER_SIDE_COOKIE=>SET_SERVER_COOKIE
              EXPORTING
                NAME                  = 'TRANSACTIONID'
                APPLICATION_NAME      = RUNTIME->application_name
                APPLICATION_NAMESPACE = RUNTIME->application_namespace
                USERNAME              = ls_name
                SESSION_ID            = runtime->session_id
                DATA_VALUE            = lv_page_data
                DATA_NAME             = 'lv_page_data'
    and following code in appl2/page2:
      CALL METHOD CL_BSP_SERVER_SIDE_COOKIE=>GET_SERVER_COOKIE
        EXPORTING
          NAME                  = 'TRANSACTIONID'
          APPLICATION_NAME      = RUNTIME->application_name
          APPLICATION_NAMESPACE = RUNTIME->application_namespace
          USERNAME              = ls_name
          SESSION_ID            = runtime->session_id
          DATA_NAME             = 'lv_page_data'
        CHANGING
          DATA_VALUE            = lv_page_data
       IF lv_page_data IS NOT INITIAL.
         IMPORT abc to transactionid
           FROM data buffer lv_page_data.
       ENDIF.
    still the code doesn't work. Please explain and guide
    Best Regards,
    Saurabh Tripathi

  • Clean install on new 1TB hdd, Yosemite keeps freezing when copying data from an ext drive and also from a usb

    Hi all,
    I'm trying to figure out why my macbook keeps freezing when I try to drag my data across to it (even small files from a USB).
    I've had to force restart over a dozen times today :/
    I ran EtreCheck and there are a couple of issues (I've no idea what they mean).
    If anybody could share some light into the report below I would be very grateful:
    Problem description:
    Macbook Pro mid 2010, Yosemite, blank new install on 1 TB hdd, keeps freezing when copying data from an ext drive and also from a usb
    EtreCheck version: 2.2 (132)
    Report generated 5/2/15, 4:55 PM
    Download EtreCheck from http://etresoft.com/etrecheck
    Click the [Click for support] links for help with non-Apple products.
    Click the [Click for details] links for more information about that line.
    Hardware Information: ℹ️
        MacBook Pro (13-inch, Mid 2010) (Technical Specifications)
        MacBook Pro - model: MacBookPro7,1
        1 2.4 GHz Intel Core 2 Duo CPU: 2-core
        8 GB RAM Upgradeable
            BANK 0/DIMM0
                4 GB DDR3 1067 MHz ok
            BANK 1/DIMM0
                4 GB DDR3 1067 MHz ok
        Bluetooth: Old - Handoff/Airdrop2 not supported
        Wireless:  en1: 802.11 a/b/g/n
        Battery: Health = Normal - Cycle count = 2061 - SN = W013358KQD3BA
    Video Information: ℹ️
        NVIDIA GeForce 320M - VRAM: 256 MB
            Color LCD 1280 x 800
    System Software: ℹ️
        OS X 10.10.3 (14D136) - Time since boot: 0:7:25
    Disk Information: ℹ️
        ST1000LM024 HN-M101MBB disk0 : (1 TB)
            EFI (disk0s1) <not mounted> : 210 MB
            Macintosh HD (disk0s2) / : 999.35 GB (968.00 GB free)
            Recovery HD (disk0s3) <not mounted>  [Recovery]: 650 MB
        HL-DT-ST DVDRW  GS23N 
    USB Information: ℹ️
        Apple Inc. Built-in iSight
        Apple Internal Memory Card Reader
        Apple Inc. BRCM2046 Hub
            Apple Inc. Bluetooth USB Host Controller
        Apple Computer, Inc. IR Receiver
        Apple Inc. Apple Internal Keyboard / Trackpad
    Gatekeeper: ℹ️
        Mac App Store and identified developers
    Problem System Launch Daemons: ℹ️
        [failed]    com.apple.mtrecorder.plist
    Launch Daemons: ℹ️
        [failed]    com.apple.spirecorder.plist
    User Launch Agents: ℹ️
        [failed]    com.apple.CSConfigDotMacCert-[...]@me.com-SharedServices.Agent.plist [Click for details]
        [loaded]    com.google.keystone.agent.plist [Click for support]
    User Login Items: ℹ️
        iTunesHelper    UNKNOWN Hidden (missing value)
        Caffeine    Application  (/Applications/Caffeine.app)
    Internet Plug-ins: ℹ️
        Default Browser: Version: 600 - SDK 10.10
        QuickTime Plugin: Version: 7.7.3
    3rd Party Preference Panes: ℹ️
        None
    Time Machine: ℹ️
        Time Machine not configured!
    Top Processes by CPU: ℹ️
            20%    WindowServer
             6%    com.apple.WebKit.WebContent(7)
             4%    Safari
             3%    hidd
             1%    launchd
    Top Processes by Memory: ℹ️
        1.07 GB    com.apple.WebKit.WebContent(7)
        439 MB    kernel_task
        90 MB    spindump
        57 MB    mdworker(5)
        57 MB    Safari
    Virtual Memory Information: ℹ️
        4.54 GB    Free RAM
        3.46 GB    Used RAM
        0 B    Swap Used
    Diagnostics Information: ℹ️
        May 2, 2015, 04:47:31 PM    Self test - passed
        May 2, 2015, 01:39:52 PM    /Library/Logs/DiagnosticReports/DesktopServicesHelper_2015-05-02-133952_[redact ed].cpu_resource.diag [Click for details]
        May 2, 2015, 01:23:20 PM    /Library/Logs/DiagnosticReports/com.apple.AmbientDisplayAgent_2015-05-02-132320 _[redacted].crash
    Regards
    Hoz

    Thanks - I had a 1TB hdd in my macbook for about 12 months but it started playing up a few days ago (I got the question mark folder on bootup) so I bought another 1TB hdd (same model) and started from scratch.
    My macbook is an early 2010... now I'm wondering if Yosemite is a bit too much for it?
    The ext hdd is my timemachine backup, so yes I have used it often and it has my TM backups - and the usb is a new usb which Ive used a few times.
    The issue seems to be when Im transferring files from an ext drive to my mac. I can use it fine and browse (worked find for 45 mins) then I tried to bring my data across.. and it copied a few gig over before total freeze.
    This has happened about a dozen times.
    I keep running disk utility and checking the disk. I also just ran the apple diagnostics tool that came in the apps cd - the hardware apears to be fine.
    I have a 250 gb partition for the OS and the rest is my second partition for data.
    I'm now wondering if I should reformat the first partition, install leopard from the CD, then upgrade to mavericks and leave it at that.
    Any thoughts would be awesome. Thank you for reading and replying!
    Hoz

Maybe you are looking for