Are the Counter classes free to distribute? (and preferably open source)
If not then using them will tie you to Orion.
Kind Regards
Neville Burnell
Business Manager Software
> -----Original Message-----
> From: Mike Cannon-Brookes [mailto:[EMAIL PROTECTED]]
> Sent: Friday, 12 May 2000 10:25 AM
> To: Orion-Interest
> Subject: RE: obtaining sequences portably for entity EJB
>
>
> I believe if you look, there's a class called CounterUtils
> that wraps all
> this nicely.
>
> Can't remember the usage, but offhand it's something like
>
> CounterUtils.getNextID(jndiLocation, beanname);
>
> Cheers,
> Mike
>
> australia.internet.com - http://australia.internet.com
> Email: [EMAIL PROTECTED]
> Phone: (612) 9251 3397
> Fax: (612) 9251 2819
> Mobile: 0416 106090
>
> INTERNET.COM - THE INTERNET INDUSTRY PORTAL
>
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]On Behalf Of Joseph B.
> Ottinger
> Sent: Friday, May 12, 2000 6:17 AM
> To: Orion-Interest
> Subject: obtaining sequences portably for entity EJB
>
>
> Since this is a common problem that ends up getting asked a
> lot, and there
> are few published good ways to go about it... it turns out orion has a
> file in the news app called "counter.jar" that does just
> this. Here's the
> quick-and-dirty on its use:
>
> 1) Add the counter.jar to the application.xml file as an ejb module.
>
> 2) Make sure that the ejb-jar.xml contains a reference to the Counter
> bean, which should look something like this:
>
> <ejb-ref>
> <description>The id counter for the
> entity</description>
> <ejb-ref-name>ejb/Counter</ejb-ref-name>
> <ejb-ref-type>Entity</ejb-ref-type>
> <home>com.evermind.ejb.CounterHome</home>
> <remote>com.evermind.ejb.Counter</remote>
> </ejb-ref>
>
> 3) In your EJB code, have this kind of sequence:
>
> public void ejbCreate() throws RemoteException, CreateException
> {
> try
> {
> CounterHome chome=(CounterHome)new
> InitialContext().lookup("java:comp/env/ejb/Counter");
> Counter ctr;
> try
> {
>
> ctr=chome.findByPrimaryKey("mybeannameid");
> }
> catch(FinderException fe)
> {
> ctr=chome.create("mybeannameid");
> }
> id=ctr.getNextID());
> }
> catch(NamingException ne)
> {
> throw new CreateException("NamingException:\nCould not"+
> " create EJB: "+ne.getMessage());
> }
> }
>
> This will set id - a long - to the next available sequence.
>
> -----------------------------------------------------------
> Joseph B. Ottinger [EMAIL PROTECTED]
> http://cupid.suninternet.com/~joeo HOMES.COM Developer
>
>
>
>