Multiple instantiations of the same object

Can someone please explain to me the difference of these two circumstances upon the JVM:
1) I declare an object outside the loop and instantiate a new object on each iteration of the loop
Object obj = null;
for (int i = 0; i < 6; i++) {
    obj = new Object();
}2) I declare and instantiate the object inside the loop only
for (int i = 0; i < 6; i++) {
    Object obj = new Object();
}I assume in the first example that I am reserving memory space and overwriting it on each iteration, whereas in the second example I am reserving and consuming a new memory space on each iteration.
If that assumption is correct, which is the more efficient? Wouldn't option 1 be easier on garbage collection?

I compiled both cases using Sun javac (1.4.1) and used javap to view the compiled code. It looks the same to me. Here's the compiled code (for the loop) for the first case   2 iconst_0
   3 istore_2
   4 goto 18
   7 new #2 <Class java.lang.Object>
  10 dup
  11 invokespecial #1 <Method java.lang.Object()>
  14 astore_1
  15 iinc 2 1
  18 iload_2
  19 bipush 6
  21 if_icmplt 7
  24 returnHere's the compiled code the second case   0 iconst_0
   1 istore_1
   2 goto 16
   5 new #2 <Class java.lang.Object>
   8 dup
   9 invokespecial #1 <Method java.lang.Object()>
  12 astore_2
  13 iinc 1 1
  16 iload_1
  17 bipush 6
  19 if_icmplt 5
  22 return

Similar Messages

  • Multiple Transports for the Same Object.

    I have ABAP program 123 and I make a change, create transport A and release the transport. I do not request transport A go to production.
    I then modify ABAP program 123 again, create transport B and release the transport. I do not request transport B go to production.
    Now I request transport A go to production.
    Can someone explain to me why the changes in transport B are included when transport A is moved to production?
    I thought each transport would be at its own change level.
    Thank-you.

    I can guarantee all of you that when Transport A was moved, it contained changes that were made in Transport B.
    Surely you understand that Thomas is correct and that there's a logical reason, not related to transport layer configuration, for the issue?   You CAN have multiple transports open for the same object without a lock by forcing it but check the dates as already suggested...

  • Can we have multiple transports for the same object.

    Hi guys,
    Can we have multiple transports for same object in dev system. Can anyone tell me how can this be done.
    Thanks

    Its not possible for the same development object. Only 1 person can access an object at a time and if mutiple users modify an object new TASKs are created under the same TRANSPORT.
    Only after releasing the tr you can create a new tr on the same object.
    Message was edited by:
            Abhishek Jolly

  • Multiple inserts for the same object

    We have observed that in certain cases, the same object is attempted to be inserted twice, resulting in Primary Key violation.
    Here is one example -
    A(1->1)B, unidirectional, A has the foreign key to B
    new B
    copyB = register(B) (also assign sequence number)
    new A1, A2
    A1.set(copyB), A2.set(copyB)
    register(A1), register(A2)(also assign sequence number)
    commit
    it tries to insert the same B twice.
    any clues whats wrong here?
    thanks

    Any chance your 1:1 from A to B is marked as privately-owned?
    This would indicate to TopLink that the object in each relationship is unique and should be inserted.
    Doug

  • I'm having problems in a GOOP applicatio​n with multiple instances of the same object running simultaneo​usly.

    I?ve written an application to control a system with multiple lamps. Each lamp in the system has its own power supply. Each lamp object contains a reference to its power supply. The application contains an array with the references to all the lamps in the system. Each lamp is in charge of monitoring itself and setting its power supply?s voltage according to the applications commands, therefore each lamp needs that its ?run me? method will run as long as the application is running i.e. the run method has to be reentrant. Because there are multiple lamps and because the ?run me? methods for each lamp run simultaneously, to over come this problem each lamp has a met
    hod ?run? that calls ?run me? with ?RUN VI? invoke node with the ?Wait until done? set to false. When I run the application, it seems to work but if I check the AO there is no change in the output, and the lamps seem to be reading their input from the same channel. I can?t seem to find the problem, I think that the fact that the method is reentrant causes some sort of mix-up in the separate object references. Also because the method is reentrant I can?t debug it (with one lamp it seems to work ok). Does anyone have any idea what could be causing this problem.
    P.S I'm having problems attaching my sample program to this message. You can contact me at [email protected] to recive the sample program I wrote.

    Jean, Thanks for your answer, I've tried checking the invoke node that calls the "Run VI" method but it doesnt return an error any of the times its called even that the Vi that it called is still running. I also tried your solution of changing the object's "Run" method to a template but that doesnt work either. I can't seem to post the sample progam that demonstrates the problem, is it possible to send it to you by email, contact me at [email protected]
    Attachments:
    Sample_program.zip ‏926 KB

  • Returning multiple instances of the same object?

    I have a fairly straight forward swing test class that contains a combobox. The problem is that an object is not selected in the combobox because I get different objects when building the list and when setting the selected item.
    To test this, I've added the following set of 4 lines on three locations in the code:
    - immediately after Toplink is initialized
    - when setting the selected item
    - when the main exits (and the JFrame is open)
    Stand s = Stand.findByPK(4).getDerrivedfromstand();
    System.out.println( s + ", Using EM #" + Integer.toHexString( lEntityManager.hashCode() ) );
    s = Stand.findByPK(1);
    System.out.println( s + ", Using EM #" + Integer.toHexString( lEntityManager.hashCode() ) );
    I happen to know that Stand 4 is derrived from Stand 1. So I get Stand 1 once via Stand 4 and once directly. The result is:
    java.vm.version=1.6.0-b105
    [TopLink Info]: 2007.05.30 11:01:10.531--ServerSession(33414193)--TopLink, version: Oracle TopLink Essentials - 2.0 (Build b41-beta2 (03/30/2007))
    [TopLink Info]: 2007.05.30 11:01:11.343--ServerSession(33414193)--file:/C:/Documents%20and%20Settings/toeu/My%20Documents/kp/reinders/reinders/voorraad/container/bm/build/-reinders login successful
    // immediatly after Toplink init
    [1] setObject=4 / SELECT ... FROM stand WHERE (standnr = >>>HERE<<< )
    executeQuery: SELECT ... FROM stand WHERE (standnr = ?)
    [1] setObject=1 / SELECT ... FROM stand WHERE (standnr = >>>HERE<<< )
    executeQuery: SELECT ... FROM stand WHERE (standnr = ?)
    nl.reinders.bm.Stand@1866417, Standnr=1, Using EM #1a8e53c
    [1] setObject=1 / SELECT ... FROM stand WHERE (standnr = >>>HERE<<< )
    executeQuery: SELECT ... FROM stand WHERE (standnr = ?)
    nl.reinders.bm.Stand@1866417, Standnr=1, Using EM #1a8e53c
    // when filling a combobox in the GUI
    executeQuery: SELECT ... FROM stand ORDER BY standid ASC
    getElementAt 0 = nl.reinders.bm.Stand@1866417, Standnr=1
    // when setting the value of the combobox
    executeQuery: SELECT ... FROM stand ORDER BY standid ASC
    [1] setObject=4 / SELECT ... FROM stand WHERE (standnr = >>>HERE<<< )
    executeQuery: SELECT ... FROM stand WHERE (standnr = ?)
    [1] setObject=1 / SELECT ... FROM stand WHERE (standnr = >>>HERE<<< )
    executeQuery: SELECT ... FROM stand WHERE (standnr = ?)
    nl.reinders.bm.Stand@171ef98, Standnr=1, Using EM #1a8e53c
    [1] setObject=1 / SELECT ... FROM stand WHERE (standnr = >>>HERE<<< )
    executeQuery: SELECT ... FROM stand WHERE (standnr = ?)
    nl.reinders.bm.Stand@171ef98, Standnr=1, Using EM #1a8e53c
    // when exiting the main (JFrame is open)
    [1] setObject=1 / SELECT ... FROM stand WHERE (standnr = >>>HERE<<< )
    executeQuery: SELECT ... FROM stand WHERE (standnr = ?)
    nl.reinders.bm.Stand@171ef98, Standnr=1, Using EM #1a8e53c
    [1] setObject=4 / SELECT ... FROM stand WHERE (standnr = >>>HERE<<< )
    executeQuery: SELECT ... FROM stand WHERE (standnr = ?)
    nl.reinders.bm.Stand@171ef98, Standnr=1, Using EM #1a8e53c
    [1] setObject=1 / SELECT ... FROM stand WHERE (standnr = >>>HERE<<< )
    executeQuery: SELECT ... FROM stand WHERE (standnr = ?)
    nl.reinders.bm.Stand@171ef98, Standnr=1, Using EM #1a8e53c
    What is amazing is that somewhere after the combobox is filled, the query returns another instance of the same record and thus the select item will not find an "equal" object in the list. Any suggestions?

    Nevermind. A clear was done on the EM somewhere down the line.

  • How do I use multiple classes to access the same object?

    This should be staightforward. I have and object and I have multiple GUIs which operate on the same object. Do all the classes creating the GUIs need to be inner classes of the data class? I hope this question makes sense.
    Thanks,
    Mike

    public final class SingletonClass {
    private static SingletonClass instance;
    private int lastIndex = 10;
    public final static SingletonClass getInstance()
    if (instance == null) instance = new SingletoClass();
    return instance;
    public int getLastIndex() {
    return lastIndex;
    }1) This won't work since one could create a new SingletonClass. You need to add a private constructor. Also, because the constructor is private the class doesn't have to be final.
    2) Your design isn't thread-safe. You need to synchronize the access to the shared variable instance.
    public class SingletonClass {
        private static SingletonClass instance;
        private static Object mutex = new Object( );
        private int lastIndex = 10;
        private SingletonClass() { }
        public static SingletonClass getInstance() {
            synchronized (mutex) {
                if (instance == null) {
                    instance = new SingletonClass();
            return instance;
        public int getLastIndex() {
            return lastIndex;
    }if you are going to create an instance of SingletonClass anyway then I suggest you do it when the class is loaded. This way you don't need synchronization.
    public class SingletonClass {
        private static SingletonClass instance=new SingletonClass();
        private int lastIndex = 10;
        private SingletonClass() { }
        public static SingletonClass getInstance() {
            return instance;
        public int getLastIndex() {
            return lastIndex;
    }If you don't really need an object, then you could just make getLastIndex() and lastIndex static and not use the singleton pattern at all.
    public class SingletonClass {
        private static int lastIndex = 10;
        private SingletonClass() { }
        public static int getLastIndex() {
            return lastIndex;
    }- Marcus

  • The same Object Version Number for the same person id multiple times

    Hello all,
    I am currently facing an issue with HRMS tables and the object version number for employees. I am trying to write a report but due to the same object version number for the same person appearing in several row i am getting duplicate information. For example,
    person id 91 object version number 32 is on 4 rows and i have no idea why...help please guys, I'm at a lost so far 50 people are facing the same issue.

    Hi Baal666bobo,
    The person table is date-tracked, so the PK has effective start and end dates as well.
    Get the correct record with sysdate(or any particular date) and then check the OVN.
    Cheers,
    Vignesh

  • How to play one clip multiple times at the same time?

    I am writing a little game where a certain sound has to be played quite frequently. I load it as a Clip and play it with
    myClip.setFramePosition(0);
    myClip.loop(0);If the sound has to be played again but is still being played by another event, the setFramePosition() method resets the sound and the first playing instance is cut off.
    A workaround would be that each object that needs to play this sound would get its own copy, but that is not feasible due to heavy memory consumption.
    So here it goes: How can I play a single sound multiple times at the same time? Is that possible?
    Edited by: andrasz on Feb 27, 2009 12:37 AM

    If the sound has to be played again but is still being played by another event, the setFramePosition() method resets the sound and the first playing instance is cut off.
    A workaround would be that each object that needs to play this sound would get its own copy, but that is not feasible due to heavy memory consumption.
    So here it goes: How can I play a single sound multiple times at the same time? Is that possible?Ummmm, if you're using a clip, you'll have to maintain one copy per object that needs to play the sound concurrently. You could keep one master copy, and then create copies of the clip as necessary to play them, and then just dump the copies to decrease memory consumption.
    A second idea would be to write your own Clip class. Esentially, all you would need to do is dump some sound data onto a TargetDataline to play it. It'll handle the buffering and playing at the correct speed itself. If that's all you did, you should be able to dump multiple times from the same instance and play it multiple times.
    Obviously, that's just a theory. In practice, it may not work that way...

  • How to support multiple users at the same time?

    Hi all,
    I have a Labview software which controls a analyzer via GPIB connector. When user A is using the software, user B has to wait until A is done. But actually, the analyzer is not very busy, when user A is using the software.
    I want user A, B, C and D can use the software at the same time. just like we can open Multiple websites at the same time.
    How can I program the software, so that the software can be open multiple times? Do you have any example?
    Thanks a lot.
    Steven
    Solved!
    Go to Solution.

    Are all the users going to be measuring the exact same thing from the same instrument?
    It would be possible to write a separate instrument server application that would handle all the direct interactions with the instrument. When one of the users needed to access the instrument, they would gain access to it through this server.
    The big, Big, BIG caveat is that each interaction with the instrument would need to be atomic. In other words each access would need to configure the instrument, initiate the reading, report the results, and then reset the instrument back to some known default value.
    As Dennis said, not a trivial process, but probably do-able...
    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 devices with the same GUID

    Hi,
    According to the Zenworks Command line utilities reference https://www.novell.com/documentation...a/bb15p2z.html
    There exists an option to register a device with a new GUID by doing the following...
    register (reg) [-g] [-k <key>] [-u <username> -p <password] <ZENworks Server addressort>
    Registers the device in a Management Zone.
    You can use the following options:
    g - Lets you create a new device object with a new GUID and password for the device if you have multiple devices with the same GUID. When you register a device by using this switch, all the associations (policies and bundles) assigned to the original device object are removed. You cannot use this option to create a new GUID for a Primary Server or a Satellite device. The local user must have Local Administrator rights to use this option.
    I would like to know if it is possible to have such a command line option for the agent installation. So built into the agent installer, a command line option to force the agent to register with a new GUID.
    We are having CONTINUOUS problems with the above scenario. When we move devices from one computer lab to another and re-image the device, Zenworks keps trying to assign the same GUID to the device and this mixes up our Dynamic Workstation groups, which then affect the applicable policies to each device.
    I would like to know if there is an option to tell the installer to stop remembering the GUID and simply register the device with a new guid on agent installation.
    This way we can build that into the post imaging scripts which install the zenworks agent.

    Hi Craig,
    OK, I've had a look at the ZCM Reconcile rules and run a few tests to see if it is possible to get the machines not to reconcile (use a new GUID after imaging).
    As I have explained before, sometimes this result is desired in our case especially when we move machines around from lab to lab.
    So far, no matter what configuration I use, I cannot get Zenworks to generate a new GUID for a device that is getting re-imaged (without doing so only after the fact by unregistering the machine and reregistering the machine via the zac und and zac reg -g).
    We use dynamic workstation groups to assign policies and bundles to machines so reconciling the devices is not necessary most of the time. We need an option to tell the machine to register with a new GUID on installation of the agent. Surely such an option can be built into the agent installer?
    The options in the ZCM config management "reconcile settings" I tested with are:
    Serial Number - Unticked/Unselected
    Mac Address - Unticked/Unselected
    Machine Name - Unticked/Unselected
    Enable Differentiation - Unticked/Unselected
    I then also tested:
    Serial Number - Unticked/Unselected
    Mac Address - Unticked/Unselected
    Machine Name - Ticked/Selected
    Enable Differentation - Ticked/Selected
    and also:
    Serial Number - Unticked/Unselected
    Mac Address - Unticked/Unselected
    Machine Name - Ticked/Selected
    Enable Differentation - Unticked/Unselected
    With all three different configurations, I re-imaged the same machine, which renames the machine via the first post imaging installation script to match the DNS name. Thereafter the Zenworks agent gets installed, which then renames the machine back to what it was registered into the Zenworks database with on first installation.
    We need a method of telling Zenworks NOT to reconcile when we want it to. It should not reconcile every time and thereby rename the machine netBIOS name.
    Is there any way to achieve this?
    Originally Posted by CRAIGDWILSON
    Quite Simple,
    Let's say a HDD Dies and you replace it.
    All you need to do is bring down an image and the machine will come back as it was with all the same WS and Device associations.
    The same thing could apply if bringing in new Hardware.
    If a new computer were to replace an old computer but the name stayed the same, everything could be automatic depending on the rules setup.
    It is all a matter of how you tell ZCM to reconcile devices.
    The Help in the ZCC under these items should explain how it works so you can setup your rules to meet your use cases.

  • 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);
    }

  • Loading multiple instances of the same loader

    Hello everyone,
    I am trying to load in 5 pictures but 2 of those pictures need to be added multiple times to the same scene. For example you would use Loader to load one tree but would show that tree 9 times. The problem I am experiencing is that each object loads fine once but objects that are the same with different x and y values are placed at the last location that was set in the loop.
                for(var i=0; i < LoadedXml.resources.resource.(@type==LoadedXml.resources.resource.@type[fileCount]).@coun t; i++)
                    sprite.name = LoadedXml.resources.resource.@type[fileCount] + i;
                    sprite.x = LoadedXml.objects.object.(@type==LoadedXml.resources.resource.@type[fileCount] &&  @instance == i).@x;
                    sprite.y = LoadedXml.objects.object.(@type==LoadedXml.resources.resource.@type[fileCount] &&  @instance == i).@y;
                    table.push(sprite);
    this code sets the properties but say the count is equal to 9 and the last x and y set is 20 , 20. Then all of the objects are placed at 20,20. Even though they are clearly placed in there own element within the array. If anyone can help please please do it.
    Dexter

    then your xml parsing is faulty.

  • Multiple accounts on the same resource

    Experts,
    I am trying to create multiple accounts for the same IDM user.
    I have written a workflow which calls the subprocess to create multiple accounts. In the orignal workflow I pass the IDM accountId and the target system accountid in the Iterate loop.
    In the subprocess i am checking out the user view then appending the resource specific parameters (mentioned below) and then checking in the view.
    <Activity id='1' name='Add resource to user object'>
    <Variable name='userObject'/>
    <Action id='1' name='CheckOut User View' application='com.waveset.session.WorkflowServices'>
    <Argument name='op' value='checkoutView'/>
    <Argument name='type' value='User'/>
    <Argument name='id'>
    <ref>userId</ref>
    </Argument>
    <Argument name='TargetResources' value='EDS'/>
    <Argument name='authorized' value='true'/>
    <Argument name='Form' value="Empty Form"/>
    <Variable name='view'/>
    <Return from='view' to='user'/>
    </Action>
    <Action id='2' name='Add Attribute'>
    <expression>
    <block>
    <set name='applicationuserid'>
    <invoke name='get'>
    <split>
    <ref>userid_applicationid</ref>
    <s>#</s>
    </split>
    <i>0</i>
    </invoke>
    </set>
    <set name='resourcename'>
    <invoke name='get'>
    <split>
    <ref>userid_applicationid</ref>
    <s>#</s>
    </split>
    <i>1</i>
    </invoke>
    </set>
    <set name='user.waveset.resources'>
    <appendAll>
    <ref>user.waveset.resources</ref>
    <list>
    <s>RACF</s>
    </list>
    </appendAll>
    </set>
    <set>
    <concat>
    <s>user.accounts[</s>
    <ref>resourcename</ref>
    <s>].created</s>
    </concat>
    <s>true</s>
    </set>
    <set>
    <s>waveset.accounts[RACF].id</s>
    <get>
    <invoke name='getObject'>
    <invoke name='getLighthouseContext'>
    <ref>WF_CONTEXT</ref>
    </invoke>
    <s>Resource</s>
    <s>RACF</s>
    <Map>
    <MapEntry key='action' value='update'/>
    </Map>
    </invoke>
    <s>id</s>
    </get>
    </set>
    <set>
    <concat>
    <s>user.accounts[</s>
    <s>RACF</s>
    <s>].name</s>
    </concat>
    <s>RACF</s>
    </set>
    <set>
    <concat>
    <s>user.accounts[</s>
    <ref>resourcename</ref>
    <s>].gapracfid</s>
    </concat>
    <ref>applicationuserid</ref>
    </set>
    <set>
    <concat>
    <s>user.accounts[</s>
    <ref>resourcename</ref>
    <s>].identity</s>
    </concat>
    <concat>
    <s>uid=</s>
    <ref>applicationuserid</ref>
    <s>,ou=racf,ou=Applications,dc=gap,dc=com</s>
    </concat>
    </set>
    <set>
    <concat>
    <s>user.accounts[</s>
    <ref>resourcename</ref>
    <s>].firstname</s>
    </concat>
    <ref>user.accounts[Lighthouse].firstname</ref>
    </set>
    <set>
    <concat>
    <s>user.accounts[</s>
    <ref>resourcename</ref>
    <s>].lastname</s>
    </concat>
    <ref>user.accounts[Lighthouse].lastname</ref>
    </set>
    <set>
    <concat>
    <s>user.accounts[</s>
    <ref>resourcename</ref>
    <s>].fullname</s>
    </concat>
    <ref>user.accounts[Lighthouse].fullname</ref>
    </set>
    </block>
    </expression>
    </Action>
    <Action id='3' name='Check In User View' application='com.waveset.session.WorkflowServices'>
    <Argument name='op' value='checkinView'/>
    <Argument name='view' value='$(user)'/>
    <Argument name='authorized' value='true'/>
    <Argument name='Form' value="Empty Form"/>
    </Action>
    <Transition to='end'/>
    <WorkflowEditor x='244' y='48'/>
    </Activity>
    When i run this in the IDM I can see all the entries but only first one is actually created on the target resource. When I open the user object in IDM and hit Save button IDM creates the accounts on the target system.
    I have already tried by using the refresh view just before the checkin view action but no luck..
    Any help for solving this problem would be appreciated.
    Thanks

    Thanks for the reply... in my case this would be done by the active synch process so no GUI form is required. I will be getting a list of application ID for the user by LDAP AS. One i get it i will have to parse it and get the list of application user id. I am passing those ID;s to a workflow where I am forming the resource name as you mentioned
    for example:
    If i get user1#user2#user3 from AS i am separating them based on # using split and getting 3 different user id;s
    now i am forming a string with the resource name and passing it to the sub process in which i am checking out the user object, setting the user attributes and checking in the new view.
    user1#LDAP
    user2#LDAP|1
    user3#LDAP|2
    Problem ; When i run this user1 is getting created in LDAP but user2 and user3 are not. There entry is getting created in IDM.
    When I open the IDM object I get a yellow triangle (warning) and if I open the user object and hit save button IDM creates the user account on the LDAP.
    any help for further solving this problem would be appreciated.
    Regards,

  • Can we have multiple policies for the same gateway?

    Hi all,
    Is there a way in which we can have multiple policies for the default gateway?
    When I try adding a new gateway (which is not mentioned in the installer.properties file) and have policies, there is a 404 error.
    When I add another service to the same gateway, I get an error - that the service could not be added to default policy.
    Help me please...
    My need is as follows
    Want to have multiple policies, so that each of the web-service can be attached to same. The relation needs to be one-to-many. One policy can have multiple web-services.
    Thanks in advance...

    Its not possible for the same development object. Only 1 person can access an object at a time and if mutiple users modify an object new TASKs are created under the same TRANSPORT.
    Only after releasing the tr you can create a new tr on the same object.
    Message was edited by:
            Abhishek Jolly

Maybe you are looking for