Calling a vi in multiple instances

Hi All,
Is Reentrant VI the Best option for calling a subvi in multiple instances?
Can I use semaphore.?
Is there any other ways proven best.
Thanks,
Davidson

davidson.d wrote:
I have a subVI (reentrant)  which is being used 20 times in the Main VI.
All the subVIs run in parallel with independent data input and output.
Each use of the subVI in my main VI is what i mentioned as "muliple Instances"
As You mentioned about the memory usage, this VI would take 20 copies of the subVI everytime.
I was not sure whether this (reentrant) aproach right .
Regarding semaphore, i'm not yet tried. I thought of possibility to implement without reentrant VI.
Can You get me..?
It really depends on what the subVI does. Does each one run for extended periods and do you really need to run all of them in parallel? (after all, you most likely don't have 20 CPUs).
If you don't make it re-entrant, only one instance can run at the same time and other instances will wait automatically until they get their turn. No semaphores needed.
If typically only a few run in parallel, you can configure it for "shared clones", striking a possibly better balance between memory use and parallelism.
It would help if you could be more specific on how your main program is layed out and what the subVI actually does. The best solution strongly depends on this information.
LabVIEW Champion . Do more with less code and in less time .

Similar Messages

  • Running Multiple Instance of indesign server using com calls

    Hello All,
    I am new to this community , can anyone help me in understanding how can i run multiple instance of indesign server using com calls.. i am using jacob library in java for com calls ..
    Thanks

    Hi Soni,
    Web colsole --> your domain --> your server --> configuration -->
    general --> Listen Port / Listen Address
    Regards,
    Slava Imeshev
    "Soni " <[email protected]> wrote in message
    news:3dcfbbcb$[email protected]..
    >
    Hi:
    Is it possible to run two seperate instances of WebLogic server 6.1 onsame the
    server both listening on port 80?
    Details about the instances:
    Instance 1
    Domain names : fasnets
    Server name: envext
    Listen Address : 155.x.x.1
    Listen Port : 80 :
    External DNS : www.acme.com
    Instance 2
    Domain names : fasnets1
    Server name: envext1
    Listen Address : 155.x.x.2
    Listen Port : 80 :
    External DNS : www.acme1.com
    Thanks,
    Soni

  • Multiple instances of explorer.exe running in task manager

    I got a dropper trojan virus on my computer that microsoft security essencials do not recognized but after running "superantispyware" antivirus I got discover it and delete it. After that, I still could find the infected files in my
    administrator folders as .temp files and I just erased them. After that my computer started crashing and runing several instances of explorer.exe in the task manager with different memory values, some of them ascending to 350,000. I have set up my computer
    to run just the basic services, I have tried windows in safe mode, ran other antivirus programs but still it is performing the same. As far as I have noticed other unusual process present are host.dll, dllhost.exe, and logonUI.exe. Any idea about it? Thanks
    in advance for your help.

    I have the same issue. It started about a month ago when I was filling out a form online and had to quit and close the window.  My system got very buggy (can't remember details), flashing, then really slow.  Found a bunch of explorer.exe instances
    in Task Manager.  Ran Security Essentials and several other anti-viruses, nothing found.
    Running Win7 Pro, sp1, 64-bit, CoreI5, 4Gb Ram
    Restored system to a previous version, didn't work
    Restored last system image, didn't work
    Used System Repair Disk - ran Memory Diagnostic.  Said it would give me report after reboot.  Never saw a report after reboot. But only one instance of explorer.exe in task manager at that point.  Took disk out, rebooted normally.  After
    20 minutes or so, the multiple instances were back.
    Used Repair Disk again, ran Memory Diagnostic. Again, no report after reboot (leaving disk in machine both times), but only one instance running again. 
    Did this a few times with the same result, so now leaving disk in system and always boot from it.
    Ran Security Essentials again, found that rovnix virus, removed, ran again, found it again.
    Ran search for instances and found many.  Here's an example:
    C:\Windows\explorer.exe
    C:\Windows\winsxs\wow64_microsoft-windows-explorer_31bf3856ad364e35_6.1.7601.17567_none_b9fc4815c4e292b5
    C:\Windows\winsxs\amd64_microsoft-windows-explorer_31bf3856ad364e35_6.1.7601.21669_none_b0333b22a99da332
    C:\Windows\winsxs\wow64_microsoft-windows-explorer_31bf3856ad364e35_6.1.7601.21669_none_ba87e574ddfe652d
    C:\Windows\winsxs\amd64_microsoft-windows-explorer_31bf3856ad364e35_6.1.7601.17567_none_afa79dc39081d0ba
    C:\Windows\SysWOW64
    When I check properties on the now single one on Task Manager, this is what it shows:
    C:\Windows\winsxs\amd64_microsoft-windows-explorer_31bf3856ad364e35_6.1.7601.17567_none_afa79dc39081d0ba\explorer.exe
    C:\Windows\explorer.exe
    I was going to reinstall entire system, but was from an Anytime Upgrade which now says it's invalid.  Much more to story on that (calls to MS support, etc.).

  • How to use multiple instances of the same dll ?

    Hi,
    I'd like to use multiple instances of a jni dll . I have created
    different threads, in each thread, I have called System.loadLibrary(..),
    and I would like each thread to access a different instance of this
    library.
    Unfortunately, the loadLibrary function is effective only once so I
    can not find the way to do this.
    Can anyone help me on this ?
    Thanks.
    Francois.

    Hi, :)
    and I would like each thread to access a different
    instance of this library.In Win32, this is outright impossible. A DLL will only exist once in a process space.
    In Unix, or at least in Solaris, I think this is also not possible, as libraries are loaded by the dynamic linker, and it keeps tabs of which modules have already been loaded into the process space.
    I'm assuming your problem is that your native library has non-reentrant code.
    If so, there are two approaches you can take to this:
    1) If you have access to the source code for the native library, change it so that it is reentrant.
    2) If you do not, change your Java code so that access to the native code is made from whithin synchronize blocks.
    If your problem is of a different nature, I'll second the words of the previous poster and ask you what it is...
    Cheers,
    J.

  • How to reference multiple instances of the same Java object from PL/SQL?

    Dear all,
    I'm experimenting with calling Java from PL/SQL.
    My simple attempts work, which is calling public static [java] methods through PL/SQL wrappers from SQL (and PL/SQL). (See my example code below).
    However it is the limitation of the public static methods that puzzels me.
    I would like to do the following:
    - from PL/SQL (in essence it needs to become a forms app) create one or more objects in the java realm
    - from PL/SQL alter properties of a java object
    - from PL/SQL call methods on a java object
    However I fail to see how I can create multiple instances of an object and reference one particular object in the java realm through public static methods.
    My current solution is the singleton pattern: of said java object I have only 1 copy, so I do not need to know a reference to it.
    I can just assume that there will only ever be 1 of said object.
    But I should be able to make more then 1 instance of an object.
    To make it more specific:
    - suppose I have the object car in the java realm
    - from PL/SQL I want to create a car in the java realm
    - from PL/SQL I need to give it license plates
    - I need to start the engine of a scpecific car
    However if I want more then 1 car then I need to be able to refrence them. How is this done?
    Somehow I need to be able to execute the following in PL/SQL:
    DECLARE
    vMyCar_Porsche CAR;
    vMyCar_Fiat CAR;
    BEGIN
    vMyCar_Porsche = new CAR();
    vMyCar_Fiat = new CAR();
    vMyCar_Porsche.setLicensePlates('FAST');
    vMyCar_Porsche.startEngine();
    vMyCar_Fiat.killEngine();
    END;
    Thanks in advance.
    Best Regards,
    Ruben
    My current example code is the following:
    JAVA:
    ===
    CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED CODAROUL."RMG/BO/RMG_OBJECT" as package RMG.BO;
    public class RMG_OBJECT {
    private static RMG_OBJECT instance = new RMGOBJECT();
    private String rmgObjectNaam;
    private RMG_OBJECT(){
    this.rmgObjectNaam = "NonDetermined";
    public static String GET_RMGOBJECT_NAAM () {
    String toestand = null;
    if (_instance == null) {toestand = "DOES NOT EXIST";} else { toestand = "EXISTS";};
    System.out.println("instance : " + toestand);
    System.out.println("object name is : " + _instance.rmgObjectNaam);
    return _instance.rmgObjectNaam;
    public static Integer SET_RMGOBJECT_NAAM (String IN)
    try
    _instance.rmgObjectNaam = IN;
    return 1;
    catch (Exception e)//catch
    System.out.println("Other Exception: " + e.toString());
    e.printStackTrace();
    return 5;
    } //catch
    PL/SQL Wrapper:
    ==========
    CREATE OR REPLACE FUNCTION CODAROUL.SET_RMGOBJECT_NAAM(NAAM IN VARCHAR2) return NUMBER AS
    LANGUAGE JAVA NAME 'RMG.BO.RMG_OBJECT.SET_RMGOBJECT_NAAM (java.lang.String) return java.lang.Integer';
    Calling from SQL:
    ==========
    CALL dbms_java.set_output(2000);
    select CODAROUL.GET_RMGOBJECT_NAAM() from dual;
    Edited by: RubenS_BE on Apr 6, 2012 5:35 AM
    Edited by: 925945 on Apr 6, 2012 5:41 AM

    You can do this by manually creating a new iterator binding in your binding tab.
    So instead of dragging the VO directly to the page, go to the binding tab, add a new executable iterator binding, and point to that one from your ELs in the page itself.

  • Can I create multiple instances of  realplayer plug-in in one jsp page?

    I want to play meny video files in one jsp web page, these video files are to be played with the embeded plug-in of realplayer, each plug-in was linked(use its SRC property) a different video file. But, to my surprise, when I press the play button, every player played the same video file,not its specified file.
    I have no idea why it did so and what can I do?
    Whether can I create multiple instances of realplayer plug-in in one jsp page, that is to say, each instance is independent of others?
    thanks in advance!

    Generally speaking, Internet Explorer tries not to launch multiple versions of a plug-in. So what's happening is that you load the first video clip, and then before it has a chance to play, you load the second video clip into the same window. (It's like changing songs in WMA.)
    In some cases - this may not work for Real Player, but it's worth trying - if you spawn a new window through a hypertext link and then launch the plug-in in that window, IE will treat it separately. Otherwise, you could not, for example, run two Macromedia Flash applications from different web sites at the same time.
    Keep in mind that only one program can access the soundcard at a time, so Real Player may purposely "pause" or "cancel" other video streams until the active one finishes. If you were using the desktop version, selecting another video by any means aborts the currently running video (i.e., RP won't let you create a separate instance of it).
    The easiest solution is to create a wrapper JSP file that takes the name of the video clip, and plays it. Call that JSP and specify that it should be opened in a new window via the TARGET keyword in the anchor tag. Then hopefully RP itself won't block a second window from running.

  • Multiple instances of the same bean class in session?

    I�m trying to think of a way to have multiple instances of the same bean class in session scope using JSF. For example, let�s say that I have two <h:dataTable>s on the same page. They both use the backing bean called genericBean. Now, the content for genericBean will be different for each <h:dataTable>. In fact, the data source that backs genericBean is not known until runtime. It could be a database, web service, etc.
    What I would like is for when JSF needs access genericBean instead of looking for the value with key �genericBean� in the session map it looks for �genericBean_[some runtime ID]�. I could specify this id in EL on a custom component, as a request parameter or whatever.
    I think that I need the bean to be in session scope because the tables are complex and I want them to be editable.
    I have some ideas about how I can do this but I was wondering if someone has already solved this problem or if there is a standard way to do this using tools like Shale, etc.
    Thanks,
    Randy

    Well, I came up with an interesting solution to this so I thought that I would post it here.
    I have a page that looks like this.
    <html>
    <head>
    <title>My Page</title>
    </head>
    <body>
    <f:view>
    <f:subview id="component1">
    <jsp:include page="component.jsp">
    <jsp:param name="id" value="a" />
    </jsp:include>
    </f:subview>
    <hr>
    <f:subview id="component2">
    <jsp:include page="component.jsp">
    <jsp:param name="id" value="b" />
    </jsp:include>
    </f:subview>
    </f:view>
    </body>
    </html>
    And component.jsp looke like this.
    <f:verbatim>
    <p>
    <h1>Component
    </f:verbatim>
    <h:outputText value=" #{param.id}" />
    <f:verbatim>
    </h1>
    </p>
    </f:verbatim>
    <h:form>
    <h:outputText value="#{component.id}" />
    <h:outputText value="#{component.value}" />
    <h:commandButton value="increment" action="#{component.increment}" />
    <h:commandButton value="decrement" action="#{component.decrement}" />
    <f:verbatim>
    <input type="hidden" name="id"
    value="</f:verbatim><h:outputText value="#{param.id}"/><f:verbatim>" />
    </f:verbatim>
    </h:form>
    The idea is that I want component.jsp to be initialized differently based on the id param. The component managed bean is configured to be in session scope but I want the component instance for id a and id b to be different instances in session scope. Therefore, I added a custom variable resolver to handle this.
    public Object resolveVariable(FacesContext context, String name) {
    // This id will be different for the different subviews.
    HttpServletRequest request = (HttpServletRequest) context.getExternalContext() .getRequest();
    String id = request.getParameter("id");
    // If there is an id in the request then check if this is a bean that can have multiple
    // instances in session scope.
    if ((id != null) && (id.length() > 0)) {
    ExternalContext ec = context.getExternalContext();
    // Build the new name for the key of this bean
    String newName = name + "_" + id;
    Object value = null;
    // See if the bean instance already esists.
    if ((null == (value = ec.getRequestMap().get(newName))) &&
    (null == (value = ec.getSessionMap().get(newName))) &&
    (null == (value = ec.getApplicationMap().get(newName)))) {
         // We could not find the bean instance in scope so create the bean
         // using the standard variable resolver.
    value = original.resolveVariable(context, name);
    // Now check if the bean implements that page component interface. If it is
    // a page component then we want to rename the key to access this bean so
    // that the instance is only used when the id is provided in the request.
    // For example, if there are two components (a and b) we will have in session scope
    // component_a and component_b. The will each point to a unique instance of the
    // Component bean class.
    if (value instanceof PageComponent) {
    // Try to get the value again
    if (null != (value = ec.getRequestMap().get(name))) {
         // Initialize the bean using the id
    ((PageComponent) value).initInstance(id);
    ec.getRequestMap().remove(name);
    ec.getRequestMap().put(newName, value);
    } else if (null != (value = ec.getSessionMap().get(name))) {
    ((PageComponent) value).initInstance(id);
    ec.getSessionMap().remove(name);
    ec.getSessionMap().put(newName, value);
    } else if (null != (value = ec.getApplicationMap().get(name))) {
    ((PageComponent) value).initInstance(id);
    ec.getApplicationMap().remove(name);
    ec.getApplicationMap().put(newName, value);
    return value;
    return original.resolveVariable(context, name);
    }

  • Best practice for multiple instances of the same BEX query

    Hi there,
    I'm wondering what's the best way to use multiple instances of the same BEX query. Let me explain what I mean:
    I have a dashboard with different queries feeding different period of time such as: week to date, month to date and so on. One query for each since it is based on a user exit.
    For each query I want to show different data in different sections of my dashboard. Per example: sales per directors or sales per customer group, sales per day, sales per week and the like.I tried to connect a simple bar chart via a direct connection but with no success due to the multiple lines generated by the addition of the sales director, customer group, week number and so on.
    My question is about the way to connect the different queries efficiently in order to show the different data while avoiding multiple useless lines.
    The image above shows the query browser where, per example, for a Month to date query there will be mutiple line for each week as well as one line for each director. If, for two different components, I want to show data per week and data per director or other representation what is the best practice:
    Add another instance of the same query and only put the week information and another one will only the director info?
    Should I bind those to the excel file and use formulas to make final calculations?
    Will there be a performance issues for adding different instances of the same query
    I have 6 different queries (read 6 user exit that filters time via user exit).
    Depending on the best practices there might be 4 instances for each for a total of 24 instances in the query browser.
    I hope my question is clear enough, if not please do not hesitate I'll clarify as much as possible.
    Regards,
    Steve

    Hi Steve,
    Might be trying for solution for a long time, If i understood your question clear let me clarify you few points.
    You are trying to access the bex query which is designed with the exit's in the background based on the logic and trying to call the entire dimensions and key-figures in a single connection. Then you are trying to map those data in the charts.
    Steve, try to make more connections based upon the logic and split them. use the same query but split them by sales per customer group, sales per day, sales per week by making three different connections and try. You can merge the prompts from all connections.
    Hope this Helps!!!
    Sorry if i misunderstood your question.
    --SumanT

  • Opening multiple instances of the same vi

    Hi,
    I am having trouble opening multiple instances of the same vi.
    This vi that I am trying to create can be used like a message display window to display numbers, strings etc (just like labVIEW's display message control except that this vi will update the displayed controls every scan). So for example, I will like to have a subvi, lets call it popup.vi, where I wire in three inputs from my main vi (2 strings and 1 number). Now in my main.vi I have 2 numeric controls Num1 and Num2 with their KeyFocus property nodes.
    The intention is that when I select Num1 or Num2 numeric control with my mouse the KeyFocus boolean becomes true and the popup.vi logic kicks in. Meaning that the popup.vi runs and opens its front pane
    l displaying the two strings and one numeric value from the main.vi.
    The problem arises when I want to open and run multiple instances of the popup.vi.
    So when I click on Num1 with my mouse I want the popup.vi to open its front panel with a set of strings and number displayed. At the same time I would want to click on Num2 control and open another instance of the popup.vi with another set of strings and numeric value.
    Also, I saved the popup.vi as popup.vit but for some reason vi server will not open the popup.vit. I get a message that popup.vit is already in memory - cannot load.
    I have attached a sample of the main.vi and popup.vi program.
    Please let me know if you need further clarifications.
    I appreciate your help in this matter.
    Thanks
    Nish
    Attachments:
    popupVI.zip ‏37 KB

    You have to clone the VI. You say you have tried to use the .vit way of cloning...but in the example there is no use of VIT and the VI is called statically. If you want to open multiple instances of the same VI and the VI has a user interface (or needs to be a unique instance of the VI every time even though it's called the same place in the diagram, not the case here though) you need to do it dynamically, i.e. with an invoke node.
    There is actually a problem doing just that, it causes a memory leak...but that won't be a problem unless the VI is called frequently / the software will be running over very long periods of time. You can see an example of it here (attached to my reply to the question):
    http://exchange.ni.com/servlet/ProcessRequest?RHIVEID=101&
    RPAGEID=135&HOID=506500000008000000A07D0000&UCATEGORY_0=_49_%24_6_&UCATEGORY_S=0&USEARCHCONTEXT_QUESTION_0=VI+cloning&USEARCHCONTEXT_QUESTION_S=0
    About the memory leak problem:
    http://exchange.ni.com/servlet/ProcessRequest?RHIVEID=101&RPAGEID=135&HOID=506500000008000000B7A40000&UCATEGORY_0=_49_%24_6_&UCATEGORY_S=0&USEARCHCONTEXT_QUESTION_0=VI+cloning&USEARCHCONTEXT_QUESTION_S=0
    MTO

  • Deploy multiple instances of the same stateless session EJB

    I have a stateless session bean.
    The methods on the bean operate against DB tables.
    Q: Can I deploy multiple instances of the same stateless session bean, but specify a different JNDI/datasource name in the deployment descriptor?
    The method calls are all enclosed within a single invocation, just that I need to hit different databases (all with the same schema), and Id like to be able to lookup the EJB via a different JNDI name, and have the exact same functionality, just against different deployed datasources.
    Does the spec allow/support this?
    If not, any suggestions as to how to achieve this sort of functionality?
    Im using JBoss 3.2.1 on Solaris, so Im not sure whether or not this is a JBoss "issue" or a limitation of the EJB Spec (or me being just plain wrong and trying to do something the "wrong way")
    Nick

    I have a stateless session bean.
    The methods on the bean operate against DB tables.
    Q: Can I deploy multiple instances of the same
    stateless session bean, but specify a different
    JNDI/datasource name in the deployment descriptor?
    The method calls are all enclosed within a single
    invocation, just that I need to hit different
    databases (all with the same schema), and Id like to
    be able to lookup the EJB via a different JNDI name,
    and have the exact same functionality, just against
    different deployed datasources.
    Does the spec allow/support this?
    If not, any suggestions as to how to achieve this sort
    of functionality?
    Im using JBoss 3.2.1 on Solaris, so Im not sure
    whether or not this is a JBoss "issue" or a limitation
    of the EJB Spec (or me being just plain wrong and
    trying to do something the "wrong way")
    NickI haven't done it but judging from the deployment descriptors yes.
    For example if I have two bounded datasources java:/Database1 and java:/Database2
    Lets say I have a session bean called MySession, then in your ejb-jar.xml you would have (notice that the desc, display, and ejb-name are the only differences)
    <session>
    <description>MySessionAlpha</description>
    <display-name>MySessionAlpha</display-name>
    <ejb-name>MySessionAlpha</ejb-name>
    <home>com.mycorp.MySessionRemoteHome</home>
    <remote>com.mycorp.MySessionRemote</remote>
    <local-home>com.mycorp.MySessionLocalHome</local-home>
    <local>com.mycorp.MySessionLocal</local>
    <ejb-class>com.mycorp.MySessionFacadeBean</ejb-class>
    <session-type>Stateless</session-type>
    <transaction-type>Container</transaction-type>
    <resource-ref>
    <res-ref-name>jdbc/DataSource</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
    </session>
    <session>
    <description>MySessionBeta</description>
    <display-name>MySessionBeta</display-name>
    <ejb-name>MySessionBeta</ejb-name>
    <home>com.mycorp.MySessionRemoteHome</home>
    <remote>com.mycorp.MySessionRemote</remote>
    <local-home>com.mycorp.MySessionLocalHome</local-home>
    <local>com.mycorp.MySessionLocal</local>
    <ejb-class>com.mycorp.MySessionFacadeBean</ejb-class>
    <session-type>Stateless</session-type>
    <transaction-type>Container</transaction-type>
    <resource-ref>
    <res-ref-name>jdbc/DataSource</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
    </session>
    But now in the jboss.xml, we will have the following elements. What you may notice is that are bound to different remote and local jndi names. But the resource bindings are very different. The res-ref-name stays the same, but the jndi-name are different. I think this will work for you.
    <session>
    <ejb-name>MySessionAlpha</ejb-name> <jndi-name>ejb/com/mycorp/MySessionAlphaRemoteHome</jndi-name> <local-jndi-name>ejb/com/mycorp/MySessionAlphaLocalHome</local-jndi-name>
    <resource-ref>
    <res-ref-name>jdbc/datasource</res-ref-name>
    <jndi-name>java:/Database1</jndi-name>
    </resource-ref>
    </session>
    <session>
    <ejb-name>MySessionBeta</ejb-name> <jndi-name>ejb/com/mycorp/MySessionBetaRemoteHome</jndi-name> <local-jndi-name>ejb/com/mycorp/MySessionBetaLocalHome</local-jndi-name>
    <resource-ref>
    <res-ref-name>jdbc/datasource</res-ref-name>
    <jndi-name>java:/Database2</jndi-name>
    </resource-ref>
    </session>

  • Use of Multiple instances of the same browser...

    Hi folks,
    I have a question...
    I have inherited a large APEX application, it uses Oracle SSO to log in.
    We are migrating the application to a new set of servers and are running regression tests.
    The testers are logging in using IE6 and opening multiple instances of the application at the same time on both the oldTest and newTest servers.
    So at any one time, there can be:an application Admin user (username ADMINTEST123)  logged into the application on oldTest
    an application Admin user (username ADMINTEST123)  logged into the application on newTest
    an application standard user (username TEST123)  logged into the application on oldTest
    an application standard user (username TEST123)  logged into the application on newTestIs this supported?
    Could someone tell me or point me toward the documentation or thread that lists what is supported / unsupported for browser use with APEX and SSO?
    Thanks in advance,
    Gus..

    Hi lev,
    thanks but sorry, that doesn't really help me, I'm talking about users and their logins, not developers using different browsers while developing apex.
    Also, our users are locked down to IE6 for the foreseeable future.
    Hi Scott,
    I found the following quote from this web site http://aranea.zuavra.net/index.php/80/ about Cookie separation in modern browsers
    *4.3. Internet Explorer 6.0*
    Finally, Explorer is the one that introduces an interesting quirk. It too has separate settings per machine users, although it cannot make use of multiple profiles for the same user.
    The interesting thing is the way it handles session cookies. Normally, long term a.k.a. non-session cookies are stored on disk in the user preferences. However, Explorer has a setting called “browse in new process” which, if enabled, forces a new session with each new window. That’s right, this means that every time you open a new Explorer window it opens a separate process, even though the windows belong to the same user! And, in turn, these processes will NOT share their session cookies.
    Note: By “new window” I mean windows started from shortcuts, from Start Menu entries or by calling iexplore.exe directly somehow (from a file manager, for example). Windows started via Control+N or File/New window run in the same process and share session cookies. Also, please note that it’s a lot more likely for users to click their taskbar shortcut when they need a new window than it is to use the File menu or the Control+N shortcut.+
    Furthermore, ever since version 5.0 the setting cannot be changed manually, by the user. It is automatically determined by the browser based on how much RAM the machine has. Anything with at least 32 MB of RAM gets the “one window, one process” behaviour, which nowadays means almost all machines.
    I have tested the *"new window"* opening methods and found that for IE6 there is NO NEW PROCESS started when the user opens a new window in the following 3 ways:
    from an open window, File>New>Window
    from an open window, CTRL+N
    from an open window, right click>Open in New Window
    So from this can I conclude that from what you say and the results above we may get issues if users login and then open new windows in those ways?
    Thanks,
    Gus..

  • Multiple Instances of OEDQ on a single server

    Hi,
    I am running a Linux Machine (Linux 2.6.18-308.1.1.0.1.el5), on which I have the latest version of Oracle 11g release 2 installed.
    I have an instance of oracle Enterprise Data Quality tool running on an apache-tomcat-7 server. Port 8080
    Now I have a requirement of Installing another instance of OEDQ on the same server, but a different APACHE_HOME directory and a different Port Number (8081).
    So the question is, Can we install multiple instances of OEDQ on a single server?
    If so, what are the prerequisites to be maintained.
    I did my bit of tries, but ended up having issues with some java errors.
    I have posted the error message below.
    SEVERE: Context initialization failed
    *org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'casemanager' defined in class path resource [conf/casemanagement.xml]: Cannot resolve reference to bean 'casedao' while setting bean property 'caseDAO';*
    The complete Error Log in the Catalina.out file is pasted below.
    INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /u100/app/PCEXDB/orpcexmt/oracle/loqate:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
    May 13, 2013 12:50:08 AM org.apache.coyote.AbstractProtocol init
    INFO: Initializing ProtocolHandler ["http-bio-8081"]
    May 13, 2013 12:50:08 AM org.apache.coyote.AbstractProtocol init
    INFO: Initializing ProtocolHandler ["ajp-bio-8010"]
    May 13, 2013 12:50:08 AM org.apache.catalina.startup.Catalina load
    INFO: Initialization processed in 792 ms
    May 13, 2013 12:50:08 AM org.apache.catalina.core.StandardService startInternal
    INFO: Starting service Catalina
    May 13, 2013 12:50:08 AM org.apache.catalina.core.StandardEngine startInternal
    INFO: Starting Servlet Engine: Apache Tomcat/7.0.29
    May 13, 2013 12:50:08 AM org.apache.catalina.startup.HostConfig deployWAR
    INFO: Deploying web application archive /u100/app/PCEXDB/orpcexmt/oracle/OEDQ2/apache-tomcat-7.0.29/webapps/dndirector.war
    May 13, 2013 12:50:13 AM org.apache.catalina.startup.TaglibUriRule body
    INFO: TLD skipped. URI: http://struts.apache.org/tags-tiles is already defined
    May 13, 2013 12:50:13 AM org.apache.catalina.startup.TaglibUriRule body
    INFO: TLD skipped. URI: http://struts.apache.org/tags-html is already defined
    May 13, 2013 12:50:13 AM org.apache.catalina.startup.TaglibUriRule body
    INFO: TLD skipped. URI: http://struts.apache.org/tags-bean is already defined
    May 13, 2013 12:50:13 AM org.apache.catalina.startup.TaglibUriRule body
    INFO: TLD skipped. URI: http://struts.apache.org/tags-logic is already defined
    May 13, 2013 12:50:13 AM org.apache.catalina.startup.TaglibUriRule body
    INFO: TLD skipped. URI: http://struts.apache.org/tags-nested is already defined
    May 13, 2013 12:50:13 AM org.apache.catalina.startup.TaglibUriRule body
    INFO: TLD skipped. URI: http://struts.apache.org/tags-bean is already defined
    May 13, 2013 12:50:13 AM org.apache.catalina.startup.TaglibUriRule body
    INFO: TLD skipped. URI: http://struts.apache.org/tags-html is already defined
    May 13, 2013 12:50:13 AM org.apache.catalina.startup.TaglibUriRule body
    INFO: TLD skipped. URI: http://struts.apache.org/tags-logic is already defined
    May 13, 2013 12:50:13 AM org.apache.catalina.startup.TaglibUriRule body
    INFO: TLD skipped. URI: http://struts.apache.org/tags-nested is already defined
    May 13, 2013 12:50:13 AM org.apache.catalina.startup.TaglibUriRule body
    INFO: TLD skipped. URI: http://struts.apache.org/tags-tiles is already defined
    May 13, 2013 12:50:14 AM org.springframework.web.context.ContextLoader initWebApplicationContext
    INFO: Root WebApplicationContext: initialization started
    May 13, 2013 12:50:14 AM org.springframework.context.support.AbstractApplicationContext prepareRefresh
    INFO: Refreshing com.datanomic.director.startup.WebApplicationContext@2dfe88b8: display name [Root WebApplicationContext]; startup date [Mon May 13 00:50:14 CDT 2013]; root of context hierarchy
    May 13, 2013 12:50:16 AM com.datanomic.director.startup.WebApplicationContext loadBeanDefinitions
    INFO: Spring bean loading complete.
    May 13, 2013 12:50:24 AM org.springframework.web.context.ContextLoader initWebApplicationContext
    SEVERE: Context initialization failed
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'casemanager' defined in class path resource [conf/casemanagement.xml]: Cannot resolve reference to bean 'casedao' while setting bean property 'caseDAO'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'casedao' defined in class path resource [conf/casemanagement.xml]: Cannot resolve reference to bean 'casemetadata' while setting bean property 'caseMetadata'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'casemetadata' defined in class path resource [conf/casemanagement.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
    PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'flags' threw exception; nested exception is java.lang.NullPointerException
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:275)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1245)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
    at com.datanomic.director.startup.WebApplicationContext.refresh(WebApplicationContext.java:109)
    at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
    Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'casedao' defined in class path resource [conf/casemanagement.xml]: Cannot resolve reference to bean 'casemetadata' while setting bean property 'caseMetadata'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'casemetadata' defined in class path resource [conf/casemanagement.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
    PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'flags' threw exception; nested exception is java.lang.NullPointerException
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:275)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1245)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1245)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
    at com.datanomic.director.startup.WebApplicationContext.refresh(WebApplicationContext.java:109)
    at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4791)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5285)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:963)
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1600)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:722)
    Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'casemetadata' defined in class path resource [conf/casemanagement.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
    PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'flags' threw exception; nested exception is java.lang.NullPointerException
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1279)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269)
    ... 46 more
    Caused by: org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
    PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'flags' threw exception; nested exception is java.lang.NullPointerException
    at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:104)
    at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:59)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1276)
    ... 57 more
    May 13, 2013 12:50:24 AM org.apache.catalina.core.StandardContext startInternal
    SEVERE: Error listenerStart
    May 13, 2013 12:50:24 AM org.apache.catalina.core.StandardContext startInternal
    SEVERE: Context [dndirector] startup failed due to previous errors
    May 13, 2013 12:50:25 AM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
    SEVERE: The web application [dndirector] registered the JDBC driver [oracle.jdbc.OracleDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
    May 13, 2013 12:50:25 AM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
    SEVERE: The web application [dndirector] registered the JDBC driver [org.postgresql.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
    May 13, 2013 12:50:25 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
    SEVERE: The web application [dndirector] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@623e20db]) and a value of type [java.lang.Class] (value [class oracle.sql.TypeDescriptorFactory]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
    May 13, 2013 12:50:25 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
    SEVERE: The web application [dndirector] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@da1c402]) and a value of type [java.lang.Class] (value [class oracle.sql.AnyDataFactory]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
    May 13, 2013 12:50:25 AM org.apache.catalina.startup.HostConfig deployDirectory
    INFO: Deploying web application directory /u100/app/PCEXDB/orpcexmt/oracle/OEDQ2/apache-tomcat-7.0.29/webapps/docs
    May 13, 2013 12:50:25 AM org.apache.catalina.startup.HostConfig deployDirectory
    INFO: Deploying web application directory /u100/app/PCEXDB/orpcexmt/oracle/OEDQ2/apache-tomcat-7.0.29/webapps/examples
    May 13, 2013 12:50:25 AM org.apache.catalina.startup.HostConfig deployDirectory
    INFO: Deploying web application directory /u100/app/PCEXDB/orpcexmt/oracle/OEDQ2/apache-tomcat-7.0.29/webapps/manager
    May 13, 2013 12:50:25 AM org.apache.catalina.startup.HostConfig deployDirectory
    INFO: Deploying web application directory /u100/app/PCEXDB/orpcexmt/oracle/OEDQ2/apache-tomcat-7.0.29/webapps/ROOT
    May 13, 2013 12:50:25 AM org.apache.catalina.startup.HostConfig deployDirectory
    INFO: Deploying web application directory /u100/app/PCEXDB/orpcexmt/oracle/OEDQ2/apache-tomcat-7.0.29/webapps/host-manager
    May 13, 2013 12:50:25 AM org.apache.coyote.AbstractProtocol start
    INFO: Starting ProtocolHandler ["http-bio-8081"]
    May 13, 2013 12:50:25 AM org.apache.coyote.AbstractProtocol start
    INFO: Starting ProtocolHandler ["ajp-bio-8010"]
    May 13, 2013 12:50:25 AM org.apache.catalina.startup.Catalina start
    INFO: Server startup in 16882 ms
    Can someone please tell me what is going wrong here?

    Hi,
    Multiple instances of EDQ on a single server is technically possible provided the installer takes care to avoid port conflicts. It is not the case that there is a single port used by an EDQ server, for example.
    For various reasons, it is not officially supported; attempting to diagnose issues on custom installations on Tomcat is especially difficult and we do not provide documentation on this. In general, the requirement usually comes up for Dev/Test instances (as there is no performance advantage of using multiple instances on a single server), where we would recommend the use of virtualization where this is a requirement.
    Regards,
    Mike

  • Multiple instances of FileOutputStream

    Hi, I'm learning how to use Java's multithreading features. I created a class called "ObjectMaker". An instance of this class serializes some objects into a file, using a FileOutputStream (inside an ObjectOutputStream) for writing. In the mean time an other object of another class deserializes those objects reading from the file. Each concurrent access to the file (for writing,reading) is synchronized. Here's the problem:[ u]if each writer has its own FileOutputStream, then the concurrent writing on the file doesn't work (despite of every writer is synchronized on the same object), and the reader aren't able to read anything from the file; if the FileOutputStream is static (every instance share the same FileOutputStream reference) everything works. I read on Documentation that some OS "allow a file to be opened for writing by only one FileOutputStream (or other file-writing object) at a time" .But it also says that I would recive an exception from FileOutputStream if I try to open a file for writing that is already open by another FileOutputStream....and It doesn't happen, no exception are thrown.Then here is the problem:It's possible to manage Multiple instances of FileOutputStream linked on the same file?

    Hello Joseph,
    Have u been successful on the installation.
    There were no replies after yours.
    Can you please let me know about installing 2 MDS instances on the same host.
    If you have any document you followed please mail me to [email protected]
    It will be more helpful as the dead line to this is killing me.
    Regards,
    VishnuM

  • Multiple instances of the same VI running in parallel

    Hi,
    I have a timestamping subVI that looks at a counter channel and applies timestamps. I want to create multiple instances of this subVI (8 to be exact) and have them all run in parallel (looking at 8 different channels). Someone gave me the following advice:
    >>
    Also, in case you want to call multiple instances of the same SubVI, and you want these multiple instances to execute in parallel, you will have to set the SubVI to execute in reentrant mode. Do this by opening the SubVI and going to "Edit >> VI Properties >> Execution" and enable "Reentrant execution".
    <<
    I've tried this but only my second instance (I started simple with only 2 instances) seems to monitor its channel and pass data along to the queue. I've included my code below, I have two signal simulators which simulate singles coming in on channels 2 and 3. I'm using a PCQI 6602 counter/timer card.
    Any help would be greatly appreciated, thanks in advance,
    Chris
    Attachments:
    LabView App (June 28, 2005).zip ‏158 KB

    good news! Your reentrant VI is working and all three instances are running (as execution highlighting clearly shows). The problem is going to be an error that is occuring but you don't see because you are ignoring the error clusters internally in the timer. It looks like at one point it was set to quit if an error occurred. That still needs to be there.
    Always hookup error clusters...
    Mike...
    Certified Professional Instructor
    Certified LabVIEW Architect
    LabVIEW Champion
    "... after all, He's not a tame lion..."
    Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps

  • Multiple instances of Crystal Reports Viewer possible in WPF?

    Hi, I've dragged and dropped three Crystal Reports Viewer controls on my WPF application. The goal is to be able to select up to 3 reports from a listbox and click run to generate the reports simultaneously. When I select just one report, it works fine. However when I select multiple reports it throws errors (object not found, etc). It seems there is a problem with multiple threads. Is it possible to have multiple instances of the Crystal Report Viewer display reports simultaneously? I am using version 13.0.9.1312 from the link below along with VS2013 C# WPF.
    SAP Crystal Reports, developer version for Microsoft Visual Studio: Updates & Runtime Downloads
    Thanks,
    Syed

    I was able to quickly cobble together a two viewer app that looks like this:
    The code is like this:
    Public Sub New()
            ' This call is required by the designer.
            InitializeComponent()
            ' Add any initialization after the InitializeComponent() call.
            Dim crReportDocument As New CrystalDecisions.CrystalReports.Engine.ReportDocument
            crReportDocument.Load("C:\tests\formulas.rpt")
            CrystalReportsViewer1.ViewerCore.ReportSource = crReportDocument
            Dim crReportDocument2 As New CrystalDecisions.CrystalReports.Engine.ReportDocument
            crReportDocument2.Load("C:\tests\report1.rpt")
            CrystalReportsViewer2.ViewerCore.ReportSource = crReportDocument2
        End Sub
    For more details see the document WPF Project Using the Crystal Reports WPF Viewer in 8 Easy Steps
    Now a couple of things to keep in mind;
    1) The report engine is based on 3 Concurrent Processor License (CPL) model. Meaning you can process at most three reports at the same time. In my test, doing the above code for four reports worked, but the reports are very, very simple - and with saved data. What a "real" world reports will do, I am not sure. I do know that in a web app, the reports are queued up until one report is done and thus a CPL is freed up. You will also need to keep in mind any database connection limits, etc.
    2) There is also a Print Job limit. This by default is set to 75. In a nutshell, almost anything done with a report is a Print Job. E.g.; paging, zooming, drilling, searching, etc., etc. In addition subreports are considered to be Print Jobs. Thus a report with one subreport in a detail section that returns a thousand rows of data and therefore running 1000 subreports will error out.
    You can read more about Print Job limits here:
    Crystal Reports Maximum Report Processing Jobs ... | SCN
    - Ludek
    Senior Support Engineer AGS Product Support, Global Support Center Canada
    Follow us on Twitter

Maybe you are looking for