Creating objects in a second instance

I have created a second instance through the console of a directory server, which has been configured with the same rootdn as the original.
When I open up the console why in the new instance does it show the rootdn on the config tab but the original doesnt ......
also ....
why when i go into the second instance i try creating data objects for root suffixes ive created to mirror the original instance, does it create them under cn=config ......
Thanks
G

Hi
I have read that creating objects in a loop degrades
performance. Can someone explain why this should be
so?Every object creation takes time, so if you create
lot of unnecessary temporary items in loop it degrades
performance (so it is nothing loop specific).

Similar Messages

  • How do I create a second instance of oc4j in a standalone enviroment

    I am using OC4J standalone to deploy a sparql endpoint using jena, joseki, and the oracle jena adaptor. OC4J is running on the same server as my DEV and QAR databases. The current instance of OC4J is using a data source called "OracleSemDS" to connect to my DEV database. We are now ready to migrate the endpoint to QAR. As I was setting up the QAR endpoint, I discovered the the jena/joseki tools are hard-coded to use the "OracleSemDS" data source. Therefore, I cannot have 2 endpoints running in the same OC4J instance where one points to DEV and the other points to QAR.
    Therefore, I need to create a second instance of OC4J that specifies QAR as the "OracleSemDS" data connection. Can someone tell me how to do that?
    Thanks,
    Phil

    jphilb wrote:
    I am using OC4J standalone to deploy a sparql endpoint using jena, joseki, and the oracle jena adaptor. OC4J is running on the same server as my DEV and QAR databases. The current instance of OC4J is using a data source called "OracleSemDS" to connect to my DEV database. We are now ready to migrate the endpoint to QAR. As I was setting up the QAR endpoint, I discovered the the jena/joseki tools are hard-coded to use the "OracleSemDS" data source. Therefore, I cannot have 2 endpoints running in the same OC4J instance where one points to DEV and the other points to QAR.
    Therefore, I need to create a second instance of OC4J that specifies QAR as the "OracleSemDS" data connection. Can someone tell me how to do that?
    Thanks,
    Philgday Phil -- Melli Annamalai from the Oracle Server PM team pointed me to your question. I was an OC4J Product Manager before we bought out BEA and I swapped over to WLS -- so I have some information below that hopefully is of assistance to you.
    Since you are using OC4J standalone, the simplest way to get a second instance, is to just clone the existing, whole directory structure of your working OC4J instance into another directory, and configure/run it from that directory. To map the OracleSemDS to another target (QAR) you change the data-sources.xml file in the second instance. If you want to run them concurrently on the same server, you'll need to change the ports in the second instance so they have unique values: default-web-site.xml, rmi.xml, internal-settings.xml, jms.xml. These additional ports can be specified on the command line as a Java property string, albeit this is not a documented nor supported feature. See http://buttso.blogspot.com/2007/02/specifying-oc4j-standalone-ports-from.html for more information.
    Now as an example, assuming you have your OC4J you want to clone in the dev directory, and now want to create a second instance of OC4J in qar, I'd do this:
    cp -rp dev/* qar
    cd qar/j2ee/home/config
    vi data-sources.xml
    (edit any other files if needed to alter ports) ...
    cd ..
    java -jar oc4j.jar That should work, and should create the second instance using the current configuration (ie dev) as its basis (including deployed apps). Of course, you'll need to manage them independently from here as they really are just two separate OC4J standalone instances.
    Now what else you could potentially do is to create a secondary configuration file subset only which only changes the necessary files to support running the second instance. In this case, you'd make a copy of the j2ee/home/config/server.xml, j2ee/home/config/application.xml and j2ee/home/config/data-sources.xml files, renaming them to qar-server.xml, qar-application.xml and qar-data-sources.xml.
    Then do the following:
    1. In qar-server.xml file, you'd change the global-application application to point at qar-application.xml instead of application.xml:
    <global-application name="default" path="qar-application.xml" parent="system" start="true" />
    2. Change qar-application.xml so that it used the qar-data-sources.xml file:
    <data-sources path="qar-data-sources.xml" />
    3. Change qar-data-sources.xml file so it points to the qar database target.
    4. Start OC4J, telling it to use qar-server.xml instead of the default server.xml
    D:\java\oc4j-10135-prod\j2ee\home>java -jar oc4j.jar -config config/qar-server.xmlI think you could run into some concurrency problems if you try and run the two instances simulataneously, but in general it should be OK I think if you run them separately.
    Another solution here is look at how the application specifies/uses datasources. The hard coding of the data-source name into the applicaiton via a direct JNDI lookup works, but restricts the flexibility you as a deployer/administrator has.
    If the application used the Java EE resource-ref approach to look up and use the datasource, then the actual JNDI name of the datasource the application uses it totally abstracted from the actual physical name of the datasource that is created on the container -- so you'd have DEVDS and QARDS as physical datasources configured and running on OC4J -- and what happens is that as you deploy the application, you essentially map its lookup and use of OracleSemDS (which would need to change to a java:env/ namespace) to the physical datasource you want it to use (DEVDS or QARDS for example). You can easily alter this post deployment by changing the generated orion-application.xml file to point at the alternate physical datasource. Following that, you can also create separate deployment plans which map the app to the different datasources, then feed this in with the deployment operation so that the correct mapping to either DEVDS or QARDS is done during the deployment process.
    I don't know what scope you have to change the application so the above may not be possible -- you'd need to change the lookup code so that it uses the Java EE reference model and change the meta-inf/application.xml to add the corresponding resource-ref entry which declares the logical datasource name that needs to be mapped on deployment.
    Another approach here may be to use an application embedded datasource, where you put a data-sources.xml file into the application archive itself (along with an orion-application.xml file which references it) whereupon at deployment time, a datasource specific to the application will be created. In this manner, you'd have say two copies of the same application to deploy (DEV, QAR) which contain different data-sources.xml file. From memory, each application will have its own JNDI namespace so their datasources can co-exist with the same names, with application level data-sources overriding server level ones. Since you'll most likely want to keep the same context-root for the web modules (which has to be unique per server) you'll generally need to run just one of the applications at a time. I'd do this like this: deploy one, stop it, deploy the other, stop it, then start only the one you need to test. In that way, you'll have one copy of the application running (either DEV or QAR) and one datasource definition running within it.
    Here's some documentation links to get you going:
    Managing Application Lifecycle (start, stop): http://download.oracle.com/docs/cd/E14101_01/doc.1013/e13978/adminclient.htm#BABHJAFE <-- describes admin_client.jar but general principles apply to ascontrol management of application.
    Packaging and Testing Applications: http://download.oracle.com/docs/cd/E14101_01/doc.1013/e13979/packag.htm#BHCFBEEC
    Application Level DataSources: http://download.oracle.com/docs/cd/E14101_01/doc.1013/e13975/datasrc.htm#CHDIBFHG
    Using Deployment Plans: http://download.oracle.com/docs/cd/E14101_01/doc.1013/e13980/deployplan.htm#CHDFEFAE
    cheers
    -steve-

  • Create a second instance by DBCA

    I have a simple RHEL3 box with 1 G memory, I had used the DBCA to install a database, 10g r2, on it. How can I use the DBCA to create a second instance on the same DB? Someone´s thread said it can, But when I run the dbca, there is no place I can pick to create second instance, all I have is to create another database and next. My oracle was 10g r2 (10.2.0.1) SE1 version downloaded from Oracle. Is a problem with my original download copy or setup of the dbca? Thx.
    Chi

    Thanks Kuljeet. I think I missed that part of fundamentals. So how about the second schema vs second instance? Some users said that the second instance will need more overhead for oracle structure. and many experienced users said that second schema on the same instance is bad idea. The reason I want is to separate the test part of the database operation to a second environment (not sure it is a good word). So the management of Oracle will be simpler. My 10g r2 is part of BAAN erp application, BAAN uses Oracle as a data/index storage only, Most of the processes is around running SELECT, UPDATE and INSERT sql (developed from BAAN´s 4G script). No procedure, no function, no trigger or any other involved. However, during the set-up of the BAAN, contractor created a test set of database, then repeated the data/index tables to a prod set. So that our BAAN users can test some processes and move that processes to prod.

  • Creating second instance 10g (non rac)

    We are 10G 64bit on a Windows/VM box - or will be:)
    Is it possible to create multiple instances of oracle on a single server?
    Generally speaking - would I create the second instance just like the first instance but with a different db name?
    Any reasons why I wouldn't want to create multiple database instances on the same server?
    Currently we have our client (enterprise manager) installed on a separate box and use the same client to connect to several databases. If I had multiple instances on one server how would enterprise manager connect to multiple instances with the same ip?
    Thanks for taking my question!.
    Kathie

    When running the second DBCA the global database name and sid would be unique as well?Yea, the global database name must be unique.
    I could also use the same flashback directory as this area has the sid in the directory path? Yea, you can use the same flashback directory for any database on the same server.
    Forum question: Is there a way to close a question and give credit for an answer? I dont, know, but the interesting about the participation on this forum is HELP
    Luck.
    Have a good day.
    Regards.

  • "OIP-04796 Unable to create object instance"

    I am using OO4O, version 3 for Oracle 8.1.7 on Windows with Visual Basic version 6.
    I am getting the intermittent errors "OIP-04796 Unable to create object instance" and also "Method createDynaset of _IOraDatabase failed" - I think both are related to one another and from the documentation for OO4O, "OIP-04796" relates to the client side object cache of the OraDatabase class. Reasoning that the client side object cache was too small I attempted to increase the relevant properties of the OraDatabase object using the following: -
    MyOraDatabaseObj.CacheOptimalSize = 400
    However, at run-time, this property of the OraDatabase object does not get set accordingly in the VB IDE and after several attempts I can't seem to set it. I have also tried setting the CacheMaximumSize property but to no avail.
    Can anybody indicate to me where I am going wrong and either with the setting of the above properties or with the error message in general if I am not on the right track with the cache properties. I don't suspect that it is my code because the problem "seems" to be intermittent.
    Any and all help would be greatly appreciated. If more info is required then just ask as this is pressing problem.
    TYIA
    Mark Grimshaw

    I am pretty sure the patches are available here. If you didn't explicitly install one then you have whatever the base release was.
    If they are not available here (I almost never look here first for a patch) they are certainly available in the MetaLink file library for OO4O.

  • Problem with second instance of access manager

    Well, after sorting out things with the first install of access manager, I went on to install a second instance on a different host (it's required for delegated admin..)
    Here are the options I used on install:
    Access Manager: Administration (1 of 6)
    Administrator User ID: amAdmin
    Administrator Password [] {"<" goes back, "!" exits}:
    Retype Password [] {"<" goes back, "!" exits}:
    LDAP User ID: amldapuser
    LDAP Password [] {"<" goes back, "!" exits}:
    Retype Password [] {"<" goes back, "!" exits}:
    Password Encryption Key [gFoe4t8UlUW3wEApngAY3S8bCQFVMlGk] {"<" goes back,
    "!" exits}: weW5jtopMLQsODiBZDp+hlEp1/CtbiXX
    Install type (Realm/Legacy) Mode [Legacy] {"<" goes back, "!" exits}:
    Access Manager: Web Container (2 of 6)
    1. Sun Java System Application Server
    2. Sun Java System Web Server
    Select the container to deploy the component and hit enter key [2] {"<" goes
    back, "!" exits}
    Access Manager: Sun Java System Web Server (3 of 6)
    Host Name [zone2.corenode.com] {"<" goes back, "!" exits}:
    Web Server Instance Directory [opt/SUNWwbsvr/https-zone2.corenode.com] {"<"
    goes back, "!" exits}:
    Web Server Port [80] {"<" goes back, "!" exits}:
    Document Root Directory [opt/SUNWwbsvr/docs] {"<" goes back, "!" exits}:
    Secure Server Instance Port [No] {"<" goes back, "!" exits}:
    Access Manager: Web Container for running Access Manager Services(4 of 6)
    Host Name [zone2.corenode.com] {"<" goes back, "!" exits}:
    Services Deployment URI [amserver] {"<" goes back, "!" exits}:
    Common Domain Deployment URI [amcommon] {"<" goes back, "!" exits}:
    Cookie Domain(Assure it is not a top level domain) [.corenode.com] {"<" goes
    back, "!" exits}:
    Administration Console [Yes] {"<" goes back, "!" exits}:
    Console Deployment URI [amconsole] {"<" goes back, "!" exits}:
    Password Deployment URI [ampassword] {"<" goes back, "!" exits}:
    Access Manager: Directory Server Information (5 of 6)
    Directory Server Host [] {"<" goes back, "!" exits}: zone1.corenode.com
    Directory Server Port [] {"<" goes back, "!" exits}: 389
    Directory Root Suffix [dc=corenode,dc=com] {"<" goes back, "!" exits}:
    Directory Manager DN [cn=Directory Manager] {"<" goes back, "!" exits}:
    Directory Manager Password [] {"<" goes back, "!" exits}:
    Access Manager: Directory Server Information (6 of 6)
    Is Directory Server provisioned with user data [No] {"<" goes back, "!"
    exits}? Yes
    Organization Marker Object Class [sunISManagedOrganization] {"<" goes back,
    "!" exits}:
    Organization Naming Attribute [o] {"<" goes back, "!" exits}:
    User Marker Object Class [inetorgperson] {"<" goes back, "!" exits}:
    User Naming Attribute [uid] {"<" goes back, "!" exits}:
    Yes, I am using the same key as was used on host1 for access manager. Yes, access manager on host 1 is quite functional right now. Yes, that directory server works. Now I'm really stumped on what to do! Everything in JES seems to work great except access manager, the exceptions it throws really don't help any at all in troubleshooting.
    Any ideas?

    More info from error logs:
    # pwd
    /var/opt/SUNWam/debug
    # tail -200 amAuth
    04/12/2006 09:56:47:127 AM HST: Thread[main,5,main]
    ERROR: AuthD failed to get auth session
    04/12/2006 09:56:47:165 AM HST: Thread[main,5,main]
    ERROR: AuthD init()
    com.iplanet.dpro.session.SessionException: AuthD failed to get auth session
    at com.sun.identity.authentication.service.AuthD.initAuthSessions(AuthD.java:709)
    at com.sun.identity.authentication.service.AuthD.<init>(AuthD.java:229)
    at com.sun.identity.authentication.service.AuthD.getAuth(AuthD.java:494)
    at com.sun.identity.authentication.UI.LoginLogoutMapping.init(LoginLogoutMapping.java:71)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:921)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:813)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3478)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:3760)
    at com.iplanet.ias.web.WebModule.start(WebModule.java:251)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1133)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:652)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1133)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:355)
    at org.apache.catalina.startup.Embedded.start(Embedded.java:995)
    at com.iplanet.ias.web.WebContainer.start(WebContainer.java:431)
    at com.iplanet.ias.web.WebContainer.startInstance(WebContainer.java:500)
    at com.iplanet.ias.server.J2EERunner.confPostInit(J2EERunner.java:161)
    # tail -200 amSession
    04/12/2006 09:56:47:098 AM HST: Thread[main,5,main]
    ERROR: SessionService.SessionService(): Initialization Failed
    com.iplanet.services.naming.ServerEntryNotFoundException: Cannot find server ID.
    at com.iplanet.services.naming.WebtopNaming.getServerID(WebtopNaming.java:350)
    at com.iplanet.dpro.session.service.SessionService.<init>(SessionService.java:1540)
    at com.iplanet.dpro.session.service.SessionService.getSessionService(SessionService.java:382)
    at com.sun.identity.authentication.service.AuthD.getSS(AuthD.java:685)
    at com.sun.identity.authentication.service.AuthD.initAuthSessions(AuthD.java:706)
    at com.sun.identity.authentication.service.AuthD.<init>(AuthD.java:229)
    at com.sun.identity.authentication.service.AuthD.getAuth(AuthD.java:494)
    at com.sun.identity.authentication.UI.LoginLogoutMapping.init(LoginLogoutMapping.java:71)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:921)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:813)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3478)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:3760)
    at com.iplanet.ias.web.WebModule.start(WebModule.java:251)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1133)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:652)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1133)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:355)
    at org.apache.catalina.startup.Embedded.start(Embedded.java:995)
    at com.iplanet.ias.web.WebContainer.start(WebContainer.java:431)
    at com.iplanet.ias.web.WebContainer.startInstance(WebContainer.java:500)
    at com.iplanet.ias.server.J2EERunner.confPostInit(J2EERunner.java:161)
    04/12/2006 09:56:47:126 AM HST: Thread[main,5,main]
    ERROR: Error creating service session
    java.lang.NullPointerException
    at com.iplanet.dpro.session.service.SessionService.generateEncryptedID(SessionService.java:588)
    at com.iplanet.dpro.session.service.SessionService.generateSessionId(SessionService.java:612)
    at com.iplanet.dpro.session.service.SessionService.newInternalSession(SessionService.java:557)
    at com.iplanet.dpro.session.service.SessionService.getServiceSession(SessionService.java:501)
    at com.iplanet.dpro.session.service.SessionService.getAuthenticationSession(SessionService.java:408)
    at com.sun.identity.authentication.service.AuthD.initAuthSessions(AuthD.java:706)
    at com.sun.identity.authentication.service.AuthD.<init>(AuthD.java:229)
    at com.sun.identity.authentication.service.AuthD.getAuth(AuthD.java:494)
    at com.sun.identity.authentication.UI.LoginLogoutMapping.init(LoginLogoutMapping.java:71)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:921)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:813)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3478)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:3760)
    at com.iplanet.ias.web.WebModule.start(WebModule.java:251)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1133)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:652)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1133)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:355)
    at org.apache.catalina.startup.Embedded.start(Embedded.java:995)
    at com.iplanet.ias.web.WebContainer.start(WebContainer.java:431)
    at com.iplanet.ias.web.WebContainer.startInstance(WebContainer.java:500)
    at com.iplanet.ias.server.J2EERunner.confPostInit(J2EERunner.java:161)
    #

  • ABAP OBJECTS: Dynamic Create object

    Hi folks!
    I have a problem... I need to create a dynamic type object with:
    <b>DATA: my_instance TYPE REF TO class1.
    CREATE OBJECT my_instance TYPE (class2).</b>
    <i>* where class1 is a superclass of class2.</i>
    When I do:
    <b>my_instance ?= m_parent.</b>
    <i>* where m_parent is an instance of class1</i>
    My problem is when I want to access to an attribute of the class2, the compiler says that it cannot find the attribute <i>(this is OK, because the attribute is only in the class2).</i>
    My question:
    Is there anyway to access to an atribute of second class when is not in the first class? (i don't want to create the attribute as an attribute of the first class).
    Thanx!!!!

    Hi David,
    When you do the debugging, you are dealing with run-time - i.e., the program is now running and you are just interrupting it at each statement to examine the program state. You will reach the point where the object is already created. That is why you can see all those attributes. But when you comiple, the program is not yet <i>running</i>, so the attributes will be unknown because of the dynamic type specification.
    I think you will have to redesign the program logic. As i had already said in my earlier post, it is not proper to have the attributes specified statically while the class itself is specified dynamically.
    Your situation is somewhat similar to -
    DATA ITAB TYPE TABLE OF SPFLI.
    PERFORM TEST TABLES ITAB.
    FORM TEST TABLES ITAB.
      LOOP AT ITAB.
        WRITE: / ITAB-CARRID.
      ENDLOOP.
    ENDFORM.
    Hope the point is clear.
    Regards,
    Anand Mandalika.

  • How to create object per thread

    Hi everyone,
    This is my problem. I want to have a static method. Inside of it I want to add an element into a List, let's say I want to track something by doing this. But I also want this List to have multiple copies depending on threads, which means for every call to this static method, I want to call the "add" method on different List objects depending which thread it is from.
    Does it make sense? Do I need to have a thread pool to keep those thread references or something?
    How about I use Thread.currentThread() to determine whether this call is from a different thread so that I create another List?
    Thank you very much!
    Edited by: feiya200 on Feb 26, 2008 10:31 PM

    want to be perfect with singleton as why it is needed and how it works so see this by [email protected], Bijnor
    For those who haven't heard of design patterns before, or who are familiar with the term but not its meaning, a design pattern is a template for software development. The purpose of the template is to define a particular behavior or technique that can be used as a building block for the construction of software - to solve universal problems that commonly face developers. Think of design code as a way of passing on some nifty piece of advice, just like your mother used to give. "Never wear your socks for more than one day" might be an old family adage, passed down from generation to generation. It's common sense solutions that are passed on to others. Consider a design pattern as a useful piece of advice for designing software.
    Design patterns out of the way, let's look at the singleton. By now, you're probably wondering what a singleton is - isn't jargon terrible? A singleton is an object that cannot be instantiated. At first, that might seem counterintuitive - after all, we need an instance of an object before we can use it. Well yes a singleton can be created, but it can't be instantiated by developers - meaning that the singleton class has control over how it is created. The restriction on the singleton is that there can be only one instance of a singleton created by the Java Virtual Machine (JVM) - by prevent direct instantiation we can ensure that developers don't create a second copy.
    So why would this be useful? Often in designing a system, we want to control how an object is used, and prevent others (ourselves included) from making copies of it or creating new instances. For example, a central configuration object that stores setup information should have one and one only instance - a global copy accessible from any part of the application, including any threads that are running. Creating a new configuration object and using it would be fairly useless, as other parts of the application might be looking at the old configuration object, and changes to application settings wouldn't always be acted upon. I'm sure you can think of a other situations where a singleton would be useful - perhaps you've even used one before without giving it a name. It's a common enough design criteria (not used everyday, but you'll come across it from time to time). The singleton pattern can be applied in any language, but since we're all Java programmers here (if you're not, shame!) let's look at how to implement the pattern using Java.
    Preventing direct instantiation
    We all know how objects are instantiated right? Maybe not everyone? Let's go through a quick refresher.
    Objects are instantiated by using the new keyword. The new keyword allows you to create a new instance of an object, and to specify parameters to the class's constructor. You can specify no parameters, in which case the blank constructor (also known as the default constructor) is invoked. Constructors can have access modifiers, like public and private, which allow you to control which classes have access to a constructor. So to prevent direct instantiation, we create a private default constructor, so that other classes can't create a new instance.
    We'll start with the class definition, for a SingletonObject class. Next, we provide a default constructor that is marked as private. No actual code needs to be written, but you're free to add some initialization code if you'd like.
    public class SingletonObject
         private SingletonObject()
              // no code req'd
    So far so good. But unless we add some further code, there'll be absolutely no way to use the class. We want to prevent direct instantiation, but we still need to allow a way to get a reference to an instance of the singleton object.
    Getting an instance of the singleton
    We need to provide an accessor method, that returns an instance of the SingletonObject class but doesn't allow more than one copy to be accessed. We can manually instantiate an object, but we need to keep a reference to the singleton so that subsequent calls to the accessor method can return the singleton (rather than creating a new one). To do this, provide a public static method called getSingletonObject(), and store a copy of the singleton in a private member variable.
    public class SingletonObject
    private SingletonObject()
    // no code req'd
    public static SingletonObject getSingletonObject()
    if (ref == null)
    // it's ok, we can call this constructor
    ref = new SingletonObject();
    return ref;
    private static SingletonObject ref;
    So far, so good. When first called, the getSingletonObject() method creates a singleton instance, assigns it to a member variable, and returns the singleton. Subsequent calls will return the same singleton, and all is well with the world. You could extend the functionality of the singleton object by adding new methods, to perform the types of tasks your singleton needs. So the singleton is done, right? Well almost.....
    Preventing thread problems with your singleton
    We need to make sure that threads calling the getSingletonObject() method don't cause problems, so it's advisable to mark the method as synchronized. This prevents two threads from calling the getSingletonObject() method at the same time. If one thread entered the method just after the other, you could end up calling the SingletonObject constructor twice and returning different values. To change the method, just add the synchronized keyword as follows to the method declaration :-
    public static synchronized
         SingletonObject getSingletonObject()
    Are we finished yet?
    There, finished. A singleton object that guarantees one instance of the class, and never more than one. Right? Well.... not quite. Where there's a will, there's a way - it is still possible to evade all our defensive programming and create more than one instance of the singleton class defined above. Here's where most articles on singletons fall down, because they forget about cloning. Examine the following code snippet, which clones a singleton object.
    public class Clone
         public static void main(String args[])
         throws Exception
         // Get a singleton
         SingletonObject obj =
         SingletonObject.getSingletonObject();
         // Buahahaha. Let's clone the object
         SingletonObject clone =
              (SingletonObject) obj.clone();
    Okay, we're cheating a little here. There isn't a clone() method defined in SingletonObject, but there is in the java.lang.Object class which it is inherited from. By default, the clone() method is marked as protected, but if your SingletonObject extends another class that does support cloning, it is possible to violate the design principles of the singleton. So, to be absolutely positively 100% certain that a singleton really is a singleton, we must add a clone() method of our own, and throw a CloneNotSupportedException if anyone dares try!
    Here's the final source code for a SingletonObject, which you can use as a template for your own singletons.
    public class SingletonObject
    private SingletonObject()
    // no code req'd
    public static SingletonObject getSingletonObject()
    if (ref == null)
    // it's ok, we can call this constructor
    ref = new SingletonObject();          
    return ref;
    public Object clone()
         throws CloneNotSupportedException
    throw new CloneNotSupportedException();
    // that'll teach 'em
    private static SingletonObject ref;
    Summary
    A singleton is an class that can be instantiated once, and only once. This is a fairly unique property, but useful in a wide range of object designs. Creating an implementation of the singleton pattern is fairly straightforward - simple block off access to all constructors, provide a static method for getting an instance of the singleton, and prevent cloning.
    What is a singleton class?
    A: A class whose number of instances that can be instantiated is limited to one is called a singleton class. Thus, at any given time only one instance can exist, no more.
    Q: Can you give me an example, where it is used?
    A: The singleton design pattern is used whenever the design requires only one instance of a class. Some examples:
    �     Application classes. There should only be one application class. (Note: Please bear in mind, MFC class 'CWinApp' is not implemented as a singleton class)
    �     Logger classes. For logging purposes of an application there is usually one logger instance required.
    Q: How could a singleton class be implemented?
    A: There are several ways of creating a singleton class. The most simple approach is shown below:
    Code:
    class CMySingleton
    public:
    static CMySingleton& Instance()
    static CMySingleton singleton;
    return singleton;
    // Other non-static member functions
    private:
    CMySingleton() {}; // Private constructor
    CMySingleton(const CMySingleton&); // Prevent copy-construction
    CMySingleton& operator=(const CMySingleton&); // Prevent assignment
    Can I extend the singleton pattern to allow more than one instance?
    A: The general purpose of the singleton design pattern is to limit the number of instances of a class to only one. However, the pattern can be extended by many ways to actually control the number of instances allowed. One way is shown below...
    class CMyClass
    private:
    CMyClass() {} // Private Constructor
    static int nCount; // Current number of instances
    static int nMaxInstance; // Maximum number of instances
    public:
    ~CMyClass(); // Public Destructor
    static CMyClass* CreateInstance(); // Construct Indirectly
    //Add whatever members you want
    };

  • Creating objects dynamically

    can we create objects(instance of a class in other class) with repect to time
    that is i want to create an object for every 30 sec can we do that
    iam new to java can anyone help me

    There are serveral ways, but creating objects is meaningless without doing something with them.
    Thread.sleep() is the simplest call to wait an interval like 30 seconds or you can use a Timer object to call a piece of code periodically.
    But I have the feeling that you're coming at the thing from the wrong end.

  • MSXML6 not supporting VB6 outlook.Attachments (MailItem.Attachments) getting ActiveX cannot create object error

    Hi, This is about msxml4 removal from my application for security reason.
    Currently in my application Outlook Addin with VB6 using Office2010 and outlook object is refering with MSOUTL.OLB from C:\Program Files\Microsoft Office\Office14
    When unregister MSXML4.dll to remove the dependacy of it and use MSXML6.dll, My application getting error.
    VB6 outlook.Attachments getting ActiveX cannot create object error
    if i register msxml4.dll again, then the same is working fine.
    Pls suggest how to remove msxml4 dependancy without this error
    Regards,
    Sathiya

    Firstly, you shouldn't be messing with the system dlls.
    Secondly, do you create an instance of the outlook.Attachments object (using "new" etc.)? That object cannot be created, you can only retrieve if from an Outlook item (e.g. MailItem.Attachments property).
    Please show the relevant snippet of your code.
    Dmitry Streblechenko (MVP)
    http://www.dimastr.com/redemption
    Redemption - what the Outlook
    Object Model should have been
    Version 5.5 is now available!

  • Creating a new work item instance in a process using PAPI

    I'm seeing that there are a lot of questions on this forum about using Oracle BPM 10g's Java API called PAPI.
    I just uploaded a step by step document on how you could do this using JDeveloper 11. Here's the link to this document: http://www.4shared.com/file/126507332/e814a3a8/CallingPapi.html. The Oracle BPM project I used for this step-by-step document is also in this zip file. If you're curious, this also describes how to download, install and start JDeveloper 11.
    This is not formal Oracle documentation, but I know from teaching our Oracle BPM Bootcamp class that getting PAPI to work is sometimes a challenge and thought this might help. I tried to write it with the "Java Newbie" in mind so do not panic if you aren't an expert in Java (I'm sure not ?:| ).
    This is a simple example that uses most of the logic found in the PAPI documentation on http://download.oracle.com/docs/cd/E13154_01/bpm/docs65/papi/index.html?t=modules/papi/c_Head_PAPI.html in the "Writing Your First Java PAPI Program" section of this document.
    The document provides a step-by-step description on how how to use PAPI to:
    <li> interface to processes running on an Oracle BPM Enterprise Engine using the same logic that is in the Oracle BPM PAPI documentation
    <li> interface to processes running on an Oracle BPM Studio Engine
    <li> list processes currently running on the Engine using the same logic that is in the Oracle BPM PAPI documentation
    <li> list the work item instances running on the Engine using the same logic that is in the Oracle BPM PAPI documentation
    <li> create a new work item instance in a process and pass in input argument variables to the new instance as it is created.
    Hope you find this useful,
    Dan

    Hi
    i have gone through your example. It gives good information how to connect to BPM engine through java papi client. I have followed exactly the same steps given in the PDF document. But it throws the exception on both java client side and BPM Suite.
    Steps followed :
    1. Import sampleproject.exp into Oracle BPM studio and start the BPM engine.
    2. Imported the fuegopapi-client.jar and Write the JAVA PIPA client to connect Oracle BPM Engine.
    complete example code:_
    import fuego.papi.CommunicationException;
    import fuego.papi.InstanceInfo;
    import fuego.papi.ProcessService;
    import fuego.papi.ProcessServiceSession;
    import fuego.papi.OperationException;
    import java.util.Properties;
    public class ProcessAPIClient {
         public static void main(String[] args) {
    /////////////////// API Initialization ///////////////////
    Properties configuration = new Properties();
    configuration.setProperty(ProcessService.DIRECTORY_ID, "default");
    configuration.setProperty(ProcessService.DIRECTORY_PROPERTIES_FILE, "directory.xml");
    configuration.setProperty(ProcessService.PROJECT_PATH, "C:\\Oracle\\OracleBPMWorkspace\\SampleProject" );
    configuration.setProperty(ProcessService.WORKING_FOLDER, "/tmp");
    try {
    ProcessService processService = ProcessService.create(configuration);
    /////////////////// Establish a session ///////////////////
    ProcessServiceSession session = processService.createSession("test", "test", null);
    /////////////////// Operate with PAPI ///////////////////
    for (String processId : session.processesGetIds()) {
    System.out.println("\n Process: " + processId);
    for (InstanceInfo instance : session.processGetInstances(processId)) {
    System.out.println(" -> " + instance.getId());
    /////////////////// Close the session ///////////////////
    session.close();
    /////////////////// Release API Resources ///////////////////
    processService.close();
    } catch (CommunicationException e) {
    System.out.println("Could not connect to Directory Service");
    e.printStackTrace();
    } catch (OperationException e) {
    System.out.println("Could not perform the requested operation");
    e.printStackTrace();
    It throws the following exception and output on java client._
    Could not enhance type with bytecode info: java.lang.NoSuchMethodError: org.apache.bcel.classfile.Method.getArgumentTypes()[Lorg/apache/bcel/generic/Type;
    Could not enhance type with bytecode info: java.lang.NoSuchMethodError: org.apache.bcel.classfile.Method.getArgumentTypes()[Lorg/apache/bcel/generic/Type;
    Could not enhance type with bytecode info: java.lang.NoSuchMethodError: org.apache.bcel.classfile.Method.getArgumentTypes()[Lorg/apache/bcel/generic/Type;
    Could not enhance type with bytecode info: java.lang.NoSuchMethodError: org.apache.bcel.classfile.Method.getArgumentTypes()[Lorg/apache/bcel/generic/Type;
    Could not enhance type with bytecode info: java.lang.NoSuchMethodError: org.apache.bcel.classfile.Method.getArgumentTypes()[Lorg/apache/bcel/generic/Type;
    Could not enhance type with bytecode info: java.lang.NoSuchMethodError: org.apache.bcel.classfile.Method.getArgumentTypes()[Lorg/apache/bcel/generic/Type;
    Could not enhance type with bytecode info: java.lang.NoSuchMethodError: org.apache.bcel.classfile.Method.getArgumentTypes()[Lorg/apache/bcel/generic/Type;
    Could not enhance type with bytecode info: java.lang.NoSuchMethodError: org.apache.bcel.classfile.Method.getArgumentTypes()[Lorg/apache/bcel/generic/Type;
    Could not enhance type with bytecode info: java.lang.NoSuchMethodError: org.apache.bcel.classfile.Method.getArgumentTypes()[Lorg/apache/bcel/generic/Type;
    Creating ProcessService with id 'SampleProject'.
    Local folder /tmp\system\Schema33871921573571055\catalogs found.
    Loading catalogs from local folder: /tmp\system\Schema33871921573571055\catalogs
    0 jars found locally.
    [CatalogMgrCache] =======================
    Registering CatalogMgr [SampleProject] ...CatalogManagerCache 23240993:
    Managers:
    Counters:
    [CatalogMgrCache] =======================
    CatalogMgr [SampleProject] REGISTERED!CatalogManagerCache 23240993:
    Managers:
    {SampleProject=fuego.util.LocalCatalogManager@40b187}
    Counters:
    ProcessService 'SampleProject' created successfully.
    Process: /SampleProcess#Default-1.0
    Unreachable Engine Tolerance (seconds):
    by default: 0
    to be used: 0
    This papi client will not cache exceptions which imply that an engine could not be reached.
    Exception in thread "main" java.lang.NoClassDefFoundError: javax/jms/MessageEOFException
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Class.java:169)
         at $Proxy24.<clinit>(Unknown Source)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
         at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
         at fuego.papi.impl.AbstractProcessControlHandler.newProxyInstance(AbstractProcessControlHandler.java:52)
         at fuego.papi.impl.rmi.RMIProcessControlHandler.createProxy(RMIProcessControlHandler.java:47)
         at fuego.papi.impl.rmi.RMIEngineAccessImpl.createProcessControl(RMIEngineAccessImpl.java:111)
         at fuego.papi.impl.ProcessServiceImpl.createProcessControl(ProcessServiceImpl.java:1082)
         at fuego.papi.impl.ProcessServiceSessionImpl$1.run(ProcessServiceSessionImpl.java:2698)
         at fuego.papi.impl.ProcessServiceImpl.executeEngineOp(ProcessServiceImpl.java:1675)
         at fuego.papi.impl.ProcessServiceSessionImpl.getProcessControl(ProcessServiceSessionImpl.java:2703)
         at fuego.papi.impl.ProcessServiceSessionImpl.processGetInstances(ProcessServiceSessionImpl.java:2365)
         at com.eds.comet.bpm.oracle.papi.client.ProcessAPIClient.main(ProcessAPIClient.java:30)
    Caused by: java.lang.ClassNotFoundException: javax.jms.MessageEOFException
         at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
         at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
         ... 16 more
    It throws the following exception and output on Oracle BPM Suite._
    Client 'Id=test, Name=test, In=1, Session=564242434' was not found in lists ', PARTICIPANTS' while disconnecting it.
    Please help me to resolve this. I noticed it is able to connect BPM engine and retrieve process list. But while getting instances, it throws the exceptions on both Java Client and BPM engine side.
    Thanks and Regards
    Mahesh

  • ABAP OO:  Duplication of selected data in created objects?

    I am new to ABAP OO and I have a conceptual question/concern that I cannot resolve.  Can someone explain what I am missing?
    I would think that selecting and storing (in internal tables) a large amount of data from many related database tables and, at the same time, creating and storing objects from this same data would unnecessarily consume a huge amount of memory.  To avoid this problem, it seems that the selected data and created objects should not be stored in internal tables simultaneously.
    Does this concern make sense?  If so, how is this problem best handled?
    Does it make sense to delete the corresponding data once the objects are created (to free memory)?
    Or does it make sense to keep the data and only temporarily create objects as needed?
    Thanks.

    Hello Matt
    The approach you describe is to select data first and the feed the object instances with them. <b>Why not let the object instances do the data selection themselves?</b>
    I will give you an example what I mean.
    (1) Lets assume I want to write an application that allows to deal with cost center hierarchies. On the selection screen you can choose one or many cost center hierarchies.
    (2) Using the selection criteria I would select all cost center hierarchies but without any details (just the key values).
    (3) Next I would loop over the cost center hierarchies and create a cost center hierarchy instance (a class you have to define yourself) for each key value. The CONSTRUCTOR of this class will have an IMPORTING parameter like <i>id_kostl_hier</i>.
    (4) In the CONSTRUCTOR method I first check if the cost center hierarchy exists (if not raise an exception-class based exception) and then do the selection of the hierarchy details (e.g. the cost centers).
    (5) The instances are collected in an itab of the "frame" application.
    Using this approach you will have little duplication of data within your application. Furthermore, if you really have to deal with huge amounts of data then you could read them only on demand (like in tree controls where the sub-nodes usually are read when the parent node is expanded).
    Hope I could give you some fresh insights into this exciting topic.
    Regards
      Uwe

  • Use Granfeldts Create Object to create dynamic groups

    Trying to use Sorens Granfeldts, Create Object WF activity to create dynamic groups.
    In a standard function evaluator activity I generate the Filter as [//WorkflowData/Filter]
    The "string" I set it to is:
    &lt;Filter xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; Dialect=&quot;http://schemas.microsoft.com/2006/11/XPathFilterDialect&quot; xmlns=&quot;http://schemas.xmlsoap.org/ws/2004/09/enumeration&quot;&gt;/Person[ObjectID
    = /*[ObjectID = &apos;8dfcb5e8-ff01-400c-8ca7-2a0002d2d2d4&apos;]/ComputedMember]&lt;/Filter&gt;
    In the CreateObject activity I then just have [//WorkflowData/Filter],Filter among the initial values.
    The creation works if I remove this attribute so the rest of the attributes seems to be working.
    The creation fails however end I get the error below in the Forefront Identity Manager event log.
    System.NullReferenceException: Object reference not set to an instance of an object.
       at Microsoft.ResourceManagement.WFActivities.Resolver.GetDisplayStringFromGuid(Guid id, String[] expansionAttributes)
       at Microsoft.ResourceManagement.WFActivities.Resolver.ReplaceGuidWithTemplatedString(Match m)
       at System.Text.RegularExpressions.RegexReplacement.Replace(MatchEvaluator evaluator, Regex regex, String input, Int32 count, Int32 startat)
       at System.Text.RegularExpressions.Regex.Replace(String input, MatchEvaluator evaluator)
       at Microsoft.ResourceManagement.WFActivities.Resolver.GetStringAttributeValue(Object attribute)
       at Microsoft.ResourceManagement.WFActivities.Resolver.ResolveEvaluatorWithoutAntiXSS(String match, ResolverOptions resolveOptions)
       at Microsoft.ResourceManagement.WFActivities.Resolver.ResolveEvaluatorForWithAntiXSS(String match, ResolverOptions resolveOptions)
       at Microsoft.ResourceManagement.WFActivities.Resolver.ReplaceMatches(String input, Boolean useAntiXssEncoding, ResolverOptions resolveOptions)
       at Microsoft.ResourceManagement.Workflow.Hosting.ResolverEvaluationServiceImpl.ResolveLookupGrammar(Guid requestId, Guid targetId, Guid actorId, Dictionary`2 workflowDictionary, Boolean encodeForHTML, String expression)
       at Microsoft.ResourceManagement.Workflow.Activities.ResolveGrammarActivity.Execute(ActivityExecutionContext executionContext)
       at System.Workflow.ComponentModel.ActivityExecutor`1.Execute(T activity, ActivityExecutionContext executionContext)
       at System.Workflow.ComponentModel.ActivityExecutor`1.Execute(Activity activity, ActivityExecutionContext executionContext)
       at System.Workflow.ComponentModel.ActivityExecutorOperation.Run(IWorkflowCoreRuntime workflowCoreRuntime)
       at System.Workflow.Runtime.Scheduler.Run()
    Have anyone used this WF activity to create dynamic groups and can tell how to set the Filter?

    Hey Kent!
    I did the same thing, with Søren`s Create Object WF. I did it like this on the filter part:
    <Filter xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Dialect="http://schemas.microsoft.com/2006/11/XPathFilterDialect" xmlns="http://schemas.xmlsoap.org/ws/2004/09/enumeration">/Person[(Department = '[//Target/ObjectID]')]</Filter>,Filter
    The whole thing looks like this:
    (I use Function evaluator to generate a AccountName for groups based on a clean version of DisplayName).
    [//Target/DisplayName],DisplayName
    SEC_[//WorkFlowData/CleanAccountName],AccountName
    [//Target/Manager],Owner
    Security,Type
    DOMAIN_STRING,Domain
    Universal,Scope
    [//Target/DisplayName]_SecGroup,Description
    [//Target/Manager],DisplayedOwner
    None,MembershipAddWorkflow
    True,MembershipLocked
    [//Target/CleanAccountName],MailNickname
    <Filter xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Dialect="http://schemas.microsoft.com/2006/11/XPathFilterDialect" xmlns="http://schemas.xmlsoap.org/ws/2004/09/enumeration">/Person[(Department = '[//Target/ObjectID]')]</Filter>,Filter
    Regards, Remi www.iamblogg.com

  • Second Instance for OWA

    Greetings!
    Here, users use forms because lots of them have access to more than one mailbox and that mailboxes are not set full access and we don´t have it mapped to do configure the full access yet. 
    So, we would like to setup a second instance of OWA, bind it a new URL and set this second instance to integrated authentication, taking advantage of SSO. 
    Is it possible? To create a second site with OWA or a new OWA on the same site in the same server? If yes, some step by step? or article?
    Thanks in advance.
    Fabio Martins MCDST/MCSA Brasil!!!

    Hi Martins,
    Based on my knowledge, we cannot create a new OWA VD in the same site.
    I find a related blog for your reference to create a second instance of OWA, hope it is helpful:
    How to create multiple instances of OWA
    http://searchexchange.techtarget.com/tutorial/How-to-create-multiple-instances-of-OWA
    Disclaimer:
    Microsoft is providing this information as a convenience to you. The sites are not controlled by Microsoft. Microsoft cannot make any representations regarding the quality, safety, or suitability of any software or information found there. Please make sure
    that you completely understand the risk before retrieving any suggestions from the above link.
    Detailed steps:
    1. Assign an additional IP address to your client access server
    2. Create a new website
    3. Create a new virtual directory
    4. New-OWAVirtualDirectory –Name "owa" –Website "Contoso.com"
    5. Assign users to specific websites
    6. Use segmentation to disable OWA features
    Thanks
    Mavis Huang
    TechNet Community Support

  • Can't forward request from Apache to Tomcat on second instance

    Hi,
    I am trying to create 2 separate environments (dev and test) on one powerful
    Unix server which has 2 network cards, 2 IP addresses, 2 server names...
    Using Apache 2.0.43 and Tomcat 4.1.29/JBoss 3.0.7, mod_jk 2.0.43
    on Solaris 9, Intranet environment.
    Everything is fine on the first instance,
    but on the second instance when I do http://server2,
    Apache still can't redirect to second Tomcat/JBoss:
    "Forbidden
    You don't have permission to access / on this server.
    Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.
    Apache/2.0.48 (Unix) mod_jk2/2.0.2 Server at mopppgctxat1.pfizer.com Port 80"
    If I do http://server2:8080, getting it all right.
    I made all internal ports on the second instance different from the first:
    e.g. 8080->8180, 8009->8109, etc.
    Even tried to change "Listen <ip2>:80" to 81, same error.
    Curiously, jk2.properties is totally commented out.
    I haven't compiled mod_jk, just copied the binary from the 1st instance.
    Can that be a problem ?
    Any help is very appreciated.
    Thank you,
    Oleg.

    By trying and trying I got it to work .... long hours
    I removed the queue to queue option and the subscriber name from the subscriptions definition. And then I removed the destination-queue on the propagation schedule. Then it worked.
    Mette

Maybe you are looking for