Need advise of building sequence generator among cluster app servers

Hi All,
I want to build my app as a clusterable app. And I must implement a sequence number generator for sales orders or some other entities. I don't want to write a stored procedure in database to do it. Does any one have any real practices of this kind of environments and requirements. Maybe I can implement an independent app to generate sequence number, but I would like to hear any better solutions.
thanks a lot
Matt

mattjiang wrote:
But I don't want rely on database, Why?
I would like to know if I want to implement application level sequence number generator in a cluster environment. What's your suggestion and idea. Let's hear your ideas first. Talk through your requirements and constraints, and explain more precisely just what parts are giving you trouble.

Similar Messages

  • Need advise with pdf form generator code?

    I hava a PdfFormGenerator.java file that takes a pdf document
    loops throught all the fields and creates a class file and converts
    the fieldnames into something java can use in a method name,. basically
    sets all the set and get method.
    I have specified the location of my pdf form and the location of my java code. However when run the PdfFormGenerator.java file in command prompt, I keep getting the following msg:
    Exception in thread "main" java.lang.NoClassDefFoundError: com/lowagie/text/pdf/PdfReader
    Any ideas how I can get this to work. Thanks
    Here is the code:
    package project.student;
    import java.io.*;
    import java.util.*;
    import com.lowagie.text.pdf.*;
    public class PdfFormGenerator {
        private String className;
        private String formName;
        private StringBuffer generatedClass = new StringBuffer();
            private String classLocation = "D:/Projects/student/code/";
            private String formLocation = "C:/student/admin/forms/";
           public static void main(String[] args){
            try{
                PdfFormGenerator gen = new PdfFormGenerator(args[0], args[1]);
                gen.writeToFiles();
            }catch(Exception ex){
                 System.out.println("PdfFormGenerator : " + ex.getMessage());
                ex.printStackTrace();
    }Edited by: zub786 on Jan 22, 2008 4:34 AM

    You have to include the jar file containing the Iowagie classes in your classpath.

  • Flex session replication among cluster Help needed!

    Hi,
    I'am using Flex 3, LiceCycle Data Service 2.5.1, JBoss 4.2.1 in a web application. Our JBoss servers are in a cluster. We want to replicate Flex session among cluster, but it doesn't work. Did someone face issue with Flex session replication among application servers?
    Thank you for your help
    Gerard

    Gerard,<br /><br />You will need to cluster the LCDS 2.5.1 instances the same way you clustered <br />JBoss.<br /><br />Check out the "Configuring Data Services" chapter in the Admin guide:<br />http://livedocs.adobe.com/livecycle/es/sdkHelp/programmer/lcds/services_config_4.html<b r /><br />--<br />Tom Jordahl<br />Adobe<br /><br /><br /><[email protected]> wrote<br />> Hi,<br />><br />> I'am using Flex 3, LiceCycle Data Service 2.5.1, JBoss 4.2.1 in a web <br />> application. Our JBoss servers are in a cluster. We want to replicate Flex <br />> session among cluster, but it doesn't work. Did someone face issue with <br />> Flex session replication among application servers?<br />> Thank you for your help<br />><br />> Gerard

  • Java persistence: sequence generator not working in expected way.

    Hi,
    I just played around with java persistence api and found that sequence generator annotations for making new primary key value not working correctly in my code. following is part of my code related to this problem.
    in entity class:
    @SequenceGenerator(name="mySeq", sequenceName="MY_SEQ_IN_DB")
    @Id
    @GeneratedValue(strategy=SEQUENCE, generator="mySeq")
    @Column(name = "UPLOAD_ID", nullable = false)
    private Integer uploadId;
    I have a sequence called MY_SEQ_IN_DB in my oracle 9i testing db. When I ran the code to save a new entity instance to database I found that the new upload id is not the one that should be created from the MY_SEQ_IN_DB sequence, while the sequence was not increased either. It's instead something starting from 97 (in my pc), and increased just like a sequence, but every time I reran my code the sequence restarted itself again beginning with 97(of course the insert failed with primary key conflict). the behavior just looks like it's a sequence created and managed totally by the persistence api or toplink itself (I guess).
    So, my question is, is this a designed behavior or have I done something wrong to make it not using the correct sequence in the db?
    I used hibernate before, and assigning new primary key from sequence in this way works fine.
    Thanks
    JC.L

    There are some things in Java which can't be serialized. When contained within a higher-level class such as Buttons. A button can be associated with an Action Listener. Now, you can serialize a button; however you can't serialize an action listener - for what should be to you obvious reasons. This is NOT an error and so there is no need to throw an exception when serializing the button.
    Basically: Applet sends servlet button, but not listener.

  • Obtain/execute Sequence Generator in Toplink JPA

    Hi, I have an entity bean with a database sequence for its primary key.
    I can´t use something like:
    @Id
    @Column(name = "EMP_ID", nullable = false)
    @GeneratedValue(generator="EMPSEQ")
    @SequenceGenerator(name="EMPSEQ",sequenceName="EMP_SEQ", allocationSize=5)
    private Long id;
    because I need to know the new id of a new object before to persist it.
    That is:
    Employee newEmployee = new Employee();
    Long newId = sequencer.nextVal();
    newEmployee.setId();
    Long id = newEmployee.getId();
    entityManager.persist(newEmployee);
    I need to execute the sequence nextVal method to manualy set the id. How can I do that?

    The id will be assigned to the object when you commit the transaction or call flush.
    If you want to id back before you commit the transaction, calling EntityManager.flush() would be your best option.
    You could also access the TopLink UnitOfWork.assignSequenceNumber(Object) API directly if you wished.

  • Need ABAP Query Builder Like Ms-SQLQuery Builder for Critical ABAP-Query

    Dear ABAP Friends,
    I Need ABAP Query Builder which is as flexible as Ms-SQLQuery Builder for building Critical ABAP-Queries e.g. "I have 4 master tables , Each master table having self-join with some condition and these 4 Result-Sets have Innser-Join+Left Outer Join " Please Help.

    I have seen TCODE SQ01, But I found that this TCODE may be used to build simple ABAP Query with Selection-screen which can be used for generating simple report. But i think for critical query ??????????
    I have build my Query in MS-SQL and got the right output, Now how do I write this in ABAP Using Join statement. Please Help.....................
    My SQL Query as below(Remember this is a single Query and verified correct in SQL):
    SELECT     P1.PERNR, P1.ENAME, P1.BEGDA AS P1BEGDA, P1.ENDDA AS P1ENDDA, P1.AEDTM AS P1AEDTM, P1.UNAME AS P1UNAME, P1.PERSG, P1.PERSK,
                          P1.PLANS,
           P2.ENDDA AS P2ENDDA, P2.BEGDA AS P2BEGDA, P2.AEDTM AS P2AEDTM, P2.UNAME AS P2UNAME, P2.GESCH, P2.FAMST,
                       P21.ENDDA AS P21ENDDA, P21.BEGDA AS P21BEDDA, P21.AEDTM AS P21AEDTM, P21.UNAME AS P21UNAME, P21.FAMSA, P21.FAVOR, P21.FANAM,
                          P21.FGBDT, P21.FASEX,
                       P0.ENDDA AS P0ENDDA, P0.BEGDA AS P0BEDDA, P0.AEDTM AS P0AEDTM, P0.UNAME AS P0UNAME, P0.MASSN,
                          P0.MASSG
    FROM         (SELECT     TOP (100) PERCENT PA0001_2.PERNR, PA0001_2.ENDDA, PA0001_2.BEGDA, PA0001_2.AEDTM, PA0001_2.UNAME, PA0001_2.PERSG,
                                                  PA0001_2.PERSK, PA0001_2.PLANS, PA0001_2.ENAME
                           FROM          PA0001 AS PA0001_2 INNER JOIN
                                                      (SELECT     PERNR, MAX(ENDDA) AS ENDDA
                                                        FROM          PA0001 AS PA0001_1
                                                        GROUP BY PERNR) AS Pi1
    ON PA0001_2.PERNR = Pi1.PERNR
    AND PA0001_2.ENDDA = Pi1.ENDDA
                                               ORDER BY PA0001_2.PERNR) AS P1 LEFT OUTER JOIN
                              (SELECT     TOP (100) PERCENT PA0000.PERNR, PA0000.ENDDA, PA0000.BEGDA, PA0000.AEDTM, PA0000.UNAME, PA0000.MASSN,
                                                       PA0000.MASSG
                                FROM          PA0000 INNER JOIN
                                                           (SELECT     PERNR, MAX(AEDTM) AS Pi0AEDTM
                                                             FROM          PA0000 AS PA0000_1
                                                             GROUP BY PERNR) AS Pi0 ON PA0000.PERNR = Pi0.PERNR AND PA0000.AEDTM = Pi0.Pi0AEDTM
                                ORDER BY PA0000.PERNR) AS P0 ON P1.PERNR = P0.PERNR LEFT OUTER JOIN
                              (SELECT     TOP (100) PERCENT PA0021.PERNR, PA0021.ENDDA, PA0021.BEGDA, PA0021.AEDTM, PA0021.UNAME, PA0021.FAMSA, PA0021.FAVOR,
                                                       PA0021.FANAM, PA0021.FGBDT, PA0021.FASEX
                                FROM          PA0021 INNER JOIN
                                                           (SELECT     PERNR, MAX(AEDTM) AS Pi21AEDTM
                                                             FROM          PA0021 AS PA0021_1
                                                             GROUP BY PERNR) AS Pi21 ON PA0021.PERNR = Pi21.PERNR AND PA0021.AEDTM = Pi21.Pi21AEDTM
                                ORDER BY PA0021.PERNR) AS P21 ON P1.PERNR = P21.PERNR LEFT OUTER JOIN
                              (SELECT     TOP (100) PERCENT PA0002.PERNR, PA0002.ENDDA, PA0002.BEGDA, PA0002.AEDTM, PA0002.UNAME, PA0002.GESCH,
                                                       PA0002.FAMST
                                FROM          PA0002 INNER JOIN
                                                           (SELECT     PERNR, MAX(ENDDA) AS Pi2ENDDA
                                                             FROM          PA0002 AS PA0002_1
                                                             GROUP BY PERNR) AS Pi2 ON PA0002.PERNR = Pi2.PERNR AND PA0002.ENDDA = Pi2.Pi2ENDDA
                                ORDER BY PA0002.PERNR) AS P2 ON P1.PERNR = P2.PERNR
    xxxxx----
    Edited by: Goutam Roy on May 5, 2009 1:11 PM

  • I have a problem, i can't generate with DPS App Builder "App distribuzione.zip" to be sent to Apple to publish APP, this is the error message: is not a valid distribution certificate Apple. What do I do?

    I have a problem, i can't generate with DPS App Builder "App distribuzione.zip" to be sent to Apple to publish APP, this is the error message: is not a valid distribution certificate Apple. What do I do?

    As Bern510 says, you'll need to recreate certificates that are valid. I suggest following our step-by-step publishing guide, which walks through how to obtain certificates correctly.
    http://help.adobe.com/en_US/ppcompdoc/Step_by_step_guide_to_dps_se.pdf
    Neil

  • CMP PK Sequence generated by Bean Self Cache !!

    Hi All,
    In WL6.1, one can mention the name of the sequence and the DB in the cmp-rdbms-jar.xml
    to use the sequence generated number to use as a primary key.
    Though my work is being done by the WL server but still WL server is hitting the
    DB for each insert.
    There are a couple of discussions listed on theserverside.com, but most of them
    fail for a clustered environment.
    Can anyone please suggest me a solution where the WL server would cache the keys
    instead of hitting the DB for each insert ?
    Thanks in advance for your help !!
    Regards
    -Rais

    Hi,
    I performed a test and ran 3 scenarios(inserting 1000 records).
    1. SEQUENCE INCREMENT BY 10 And key-cache-size = 1.
    Time taken = 13 seconds
    Records were inserted as 1,11,21,31.....
    2. SEQUENCE INCREMENTED BY 10 And key-cache-size = 10
    Records were inserted as 1,2,3,4,5...
    Time = 8 seconds
    3. SEQUENCE INCREMENTED BY 1 And key-cache-size = 10
    I got the duplicate primary key problem.
    The behaviour in case 2 is ambiguous to me...I was expecting the records to be
    inserted as 1,11,21,31.....
    Can anyone please clarify ??
    Thanks
    -Rais
    "Rais" <[email protected]> wrote:
    >
    Hi Rob,
    The weblogic Docs and the DTD says that "key-cache-size" should be equal
    to the
    INCREMENT VALUE of the Sequence in DB.Lemme point out what I have interpreted
    from that.Please correct me if I am wrong.
    lets say my sequence is
    CREATE SEQUENCE TEMP_SEQ INCREMENT BY 2.
    And my key-cache-size value is also 2.
    I believe that by keeping these two values equal,records would be inserted
    into
    the DB as 1,3,5,7......
    But in a clustered environment,each CMP would still be hitting the DB
    to get the
    sequence number.
    What I mean to say is key-cache-size is actually not meant for caching
    the sequence
    numbers.
    Even if it is ,how would the servers in the cluster maintain the same
    state of
    their individual cache same ??
    Regards
    -Rais
    Rob Woollen <[email protected]> wrote:
    Did you set a key-cache-size in your CMP deployment descriptor?
    -- Rob
    Rais wrote:
    Hi All,
    In WL6.1, one can mention the name of the sequence and the DB in thecmp-rdbms-jar.xml
    to use the sequence generated number to use as a primary key.
    Though my work is being done by the WL server but still WL server
    is
    hitting the
    DB for each insert.
    There are a couple of discussions listed on theserverside.com, butmost of them
    fail for a clustered environment.
    Can anyone please suggest me a solution where the WL server would
    cache
    the keys
    instead of hitting the DB for each insert ?
    Thanks in advance for your help !!
    Regards
    -Rais

  • Knowing the Primary Key Sequence Generator of a table

    Hello All,
    I'm working on an application that uses Oracle toplinks/JPA for persistence. The entity classes in the application have primary key fields with annotations @Id and @GeneratedValue(strategy = GenerationType.AUTO). Per our understanding, this means the primary key generation is done by JPA/Top-links. When we see our database, we notice only one SEQUENCE table available and that table has only one row, while in the application, we are getting different sequence numbers for the primary key of each entity. So, not clear on how this sequence number is generated. Could anybody share information on where the sequence number is stored for each entity/table? Really appreciate your help here. Our database is MSSQL.
    Thank you,
    Venkatesh

    EclipseLink/TopLink uses Table sequencing for GenerationType.AUTO because it is more portable between databases. My understanding of your issue is from
    http://en.wikibooks.org/wiki/Java_Persistence/Identity_and_Sequencing#Table_sequencing
    Each row in the table represents one sequence generator, and your entities are all using the same default sequence generator and so all use the same row.
    To use multiple rows I believe you need to define multiple TableGenerators.
    Best Regards,
    Chris

  • Sequence through a cluster

    Hi,
    I'm just wondering is there a way to sequence through an array of clusters with a button?
    LabVIEW 2013
    Paul Power
    I have not lost my mind, it's backed up on a disk somewhere

    PauldePaor wrote:
    I'm just wondering is there a way to sequence through an array of clusters with a button?
    You don't really define what you mean by "Sequence through". It is also confusing that the title talks about sequencing through a cluster and the message body talks about an array of clusters. Big difference!
    Apparently you want to sequence throught an array (it does not really matter if the elements are clusters),
    The solution above resized the array container to one visible element and manipulates the visible element.
    An alternative interpretation would be to use a scalar indicator and index out the desired element for display (no array indicator needed). You would use a loop with an event structure and keep an index value in a shift register. Make an increment and decrement button and increment/decrement the index value when one is pressed, then index out the new element for display.
    (You should also apply quotient&remainder with the "index/total array size" to automatically wrap when you reach one of the ends.).
    LabVIEW Champion . Do more with less code and in less time .

  • Eclipselink Custom Sequence generator

    Hi,
    I am using oracle database. All my tables uses sequence generator. One of my table customer has a sequence generator but needs a prefix for the primary key. If the sequence generated is 01 , I would like it to be saved as C01. Is there anyway I can use database sequence generator and add a prefix for the ID in eclipselink.
    Any help is really appreciated.
    Thanks.

    See,
    http://www.eclipse.org/forums/index.php?t=msg&th=205307&start=0&S=6619f8634cb716a45f2bdaf577719d00

  • I need advise and help with this problem . First , I have been with Mac for many years ( 14 to be exact ) I do have some knowledge and understanding of Apple product . At the present time I'm having lots of problems with the router so I was looking in to

    I need advise and help with this problem .
    First , I have been with Mac for many years ( 14 to be exact ) I do have some knowledge and understanding of Apple product .
    At the present time I'm having lots of problems with the router so I was looking in to some info , and come across one web site regarding : port forwarding , IP addresses .
    In my frustration , amongst lots of open web pages tutorials and other useless information , I come across innocent looking link and software to installed called Genieo , which suppose to help with any router .
    Software ask for permission to install , and about 30 % in , my instinct was telling me , there is something not right . I stop installation . Delete everything , look for any
    trace in Spotlight , Library . Nothing could be find .
    Now , every time I open Safari , Firefox or Chrome , it will open in my home page , but when I start looking for something in steed of Google page , there is
    ''search.genieo.com'' page acting like a Google . I try again to get raid of this but I can not find solution .
    With more research , again using genieo.com search eng. there is lots of articles and warnings . From that I learn do not use uninstall software , because doing this will install more things where it come from.
    I do have AppleCare support but its to late to phone them , so maybe there some people with knowledge , how to get this of my computer
    Any help is welcome , English is my learned language , you may notice this , so I'm not that quick with the respond

    Genieo definitely doesn't help with your router. It's just adware, and has no benefit to you at all. They scammed you so that they could display their ads on your computer.
    To remove it, see:
    http://www.thesafemac.com/arg-genieo/
    Do not use the Genieo uninstaller!

  • Download content locally when needed by running task sequence functionality with Windows PE.

    I am trying to understand what happens when the "Download content locally when needed by running task sequence" option in chosen on a task sequence deployment. My assumption is that any needed packages would not be identified
    and downloaded until task sequence is kicked off. 
    Using task sequence boot media, it looks likes a package has been obtained before any task sequence has been selected. I am assuming the package was acquired during the WinPE boot process. Can anyone confirm that this is
    the correct behavior when using the "Download content locally when needed by running task sequence" option? If not, how would WinPE be obtaining the PS100292 SCCM package?
    This specific package contains and HTA file. Only one of  several task sequences deployed to the All Unknown Computers make a call to the HTA file. The one that does, the HTA call is the very first step of the task sequence.
    --Tony

    Hi everyone! I figured what was going on here. I was using an ESX VM and the package was stored on the c:\ from previous attempts and troubleshooting. Long story short, I had to rip the HDD from the VM and add a new one to set every thing back.

  • Do I need to re-build my window 8.1 driver for Windows 10 (WDK10)?

    Hi, all
    I am testing my hardware driver in HLK for windows 10 certification.
    I test the version for windows 8.1, it manually works OK in windows 10 (Build:10041).
    My question is : Do I need to re-build it use VS2015 CTP + WDK10? Or just install the 8.1 version then run HLK tests?
    Is there any feature of HLK needs to re-build driver using wdk10?
    (We didn't change any function or feature on this driver.)
    Thanks for the patientce for answering my question.

    The driver should work fine, Microsoft does a lot of work to ensure driver compatibility across revisions.  The only time I have encountered a need to build with a differing version is when the HLK (or actually its predecessors) required a specific
    tool for a submission.  Even then the older signed driver is acceptable until you need to modify it.
    Don Burn Windows Driver Consulting Website: http://www.windrvr.com

  • JPA: Oracle Sequence Generator not up to date

    Hi,
    I'm using the JPA Oracle Sequence Generator in one of my JPA classes:
    @Entity
    @Table(name = "DACC_COST_TYPE")
    public class JPACostType implements Serializable {
    @SequenceGenerator(name = "CostTypeGenerator", sequenceName = "DACC_COST_TYPE_SEQ")
        @Column(name = "ID_COST_TYPE")
        @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "CostTypeGenerator")
        private Integer idCostType;
    In order to persist a new object I perform the following code:
    @PersistenceContext
    private EntityManager em;
    JPACostType myJPA = new JPACostType();
    myJPA.setIdCostType = null;
    em.merge(myJPA);
    em.flush();
    Normally this works fine. But after deploying the app there sometimes happens an error:
    Caused by: javax.persistence.PersistenceException: SQLException while inserting entity {com.karmann.dacc.ejb.busilog.jpa.JPACostType(idCostType=4)}.
    at com.sap.engine.services.orpersistence.core.PersistenceContextImpl.flush(PersistenceContextImpl.java:278)
    at com.sap.engine.services.orpersistence.core.PersistenceContextImpl.beforeCompletion(PersistenceContextImpl.java:565)
    at com.sap.engine.services.orpersistence.entitymanager.EntityManagerImpl.beforeCompletion(EntityManagerImpl.java:410)
    at com.sap.engine.services.orpersistence.environment.AppJTAEnvironmentManager.beforeCompletion(AppJTAEnvironmentManager.java:197)
    at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:232)
    ... 52 more
    Caused by: java.sql.SQLException: ORA-00001: unique constraint (AEMA.DACC_COST_TYPE_PK) violated
    Obviously JPA does not fetch the new key by accessing the Oracle sequence. This documents "next value = 5". Does JPA fetch the new key from its cache? Is there any possibility to avoid this?
    Thanks for each hint,
    Christoph

    Hello Christoph Schäfer  ,
    I am stuck with a similar issue. I was able to save mutiple entries and there has not been much change to my JPA. I added new entities and new sequences.
    Now, I get the error Caused by: javax.persistence.PersistenceException: java.sql.SQLException: ORA-02289: Sequence ist nicht vorhanden.
    I have checked the name of sequence and sequence next val on the DB. It works on DB but when i execute it from ejb, it gives me thsi error. Now, it gives the error for all previously working JPA entities.
    I have also provided allocationSize = 1 for all entities.
    Please let me know, possible cause/solution to this issue.
    thank you.
    Regards,
    Sharath

Maybe you are looking for