Hi, I currently try to set up some test cases to reproduce this behaviour within JBoss 3.2.1 (currently struggle with bean deployment on 3.2.1).
Using 'eager-release' true all tests passed well. With set 'false' the test using the ODMG api failed. The test store a persistent object called 'Category' containing a collection of 5 'Article' objects. After storing a the 'Category' was searched by name. The returned category must contain 5 article objects to pass the test. Seems something goes wrong in the odmg-layer. Stay tuned regards, Armin ----- Original Message ----- From: "Matthew Baird" <[EMAIL PROTECTED]> To: "OJB Users List" <[EMAIL PROTECTED]> Sent: Tuesday, June 03, 2003 4:10 AM Subject: RE: Limited collection returned > eager-release was put in to work around a problem with a leaked connection in JBoss when using managed transactions. I remember at the time thinking the solution stunk a bit, but Armin was in the middle of a big refactoring of the connection stuff and people just needed it to work. > > I'm seriously swamped at work, otherwise I'd take a look at it, but someone like Armin could probably find the leak and solve the real problem ;) > > m > > -----Original Message----- > From: Jin Bal [mailto:[EMAIL PROTECTED] > Sent: Mon 6/2/2003 2:17 PM > To: OJB Users List; [EMAIL PROTECTED] > Cc: > Subject: Re: Limited collection returned > > > > Setting eager release to false solves the issue ro me. > > fortunately I am going to production on on tomcat 4 therefore the eager > release setting does not need to be set to true. > > I had set it to true when trying out jboss > > My set up is > Tomcat 4.x > mySQL 4 > OJB 1.0 rc3 > > cheers to everyone speaking up about this one! > > Jin > ----- Original Message ----- > From: "Thomas Mahler" <[EMAIL PROTECTED]> > To: "Gary Richards" <[EMAIL PROTECTED]>; "OJB Users List" > <[EMAIL PROTECTED]> > Sent: Monday, June 02, 2003 8:15 PM > Subject: Re: Limited collection returned > > > > Hi again, > > > > Gary Richards wrote: > > > Hi, > > > > > > It's almost certain (at least for me with JBoss) the eager-release. I > > > turned it off and everything i expected came back through the query. > > > > > > > That's what I expected. I had a closer look at the code. > > OJB uses a class StatementManager to handle jdbc statement resources. > > the method StatementManager.closeResources(Statement stmt, ResultSet rs) > > is meant to close a statement after use. > > > > it contains the following lines: > > /* > > ********************************************* > > special stuff for OJB within JBoss > > ******************************************** > > */ > > if (m_eagerRelease) > > { > > m_conMan.releaseConnection(); > > } > > > > clsoing the underlying connection will avoid the JBOSS "Successfully > > closed a connection for you" messages. > > But it is problematic because a PersistenceBroker uses only one > > connection. once the connection is released other operations executed by > > the same broker instance will fail! > > > > The only safe point to release a connection is in the broker commit() or > > abort() methods! This looks like a design issue. > > But I am not sure as I did not add this feature. I hope Armin can spread > > some more light on this... > > > > For the time being I think the only safe option is to set eager-release > > to false. > > > > We than have to have a closer look at the ODMG insert problem you have. > > Do you see any OJB related exceptions in the stacktrace? Or only those > > org.jboss.resource.connectionmanager.* exceptions? (They look like > > warnings to me and should not do any harm?!) > > > > cheers, > > Thomas > > > > > > > Did get a few stack traces of the sort [CachedConnectionManager] > > > Successfully closed a connection for you. Please close them > > > yourself: [EMAIL PROTECTED] > > > > > > at > > > > org.jboss.resource.connectionmanager.CachedConnectionManager.closeAll(Ca ched > ConnectionManager.java:376) > > > at > > > > org.jboss.resource.connectionmanager.CachedConnectionManager.popMetaAwar eObj > ect(CachedConnectionManager.java:199) > > > at > > > > org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke( Cach > edConnectionInterceptor.java:190) > > > at > > > > org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor.invoke(Stateful Sess > ionInstanceInterceptor.java:271) > > > etc... > > > > > > > > > I had eager-release on as thats's what it said to do in the > > > deployment docs for JBoss 3.0 and greater. Unfortuanately inserts > > > don't seem to work for ODMG when setting eager-release to false. I > > > get a first stack trace, > > > > > > 18:08:22,070 INFO [CachedConnectionManager] Successfully closed a > > > connection for you. Please close them yourself: > > > [EMAIL PROTECTED] > > > java.lang.Exception: Stack Trace at > > > > org.jboss.resource.connectionmanager.CachedConnectionManager.closeAll(Ca ched > ConnectionManager.java:376) > > > at > > > > org.jboss.resource.connectionmanager.CachedConnectionManager.popMetaAwar eObj > ect(CachedConnectionManager.java:199) > > > at > > > > org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke( Cach > edConnectionInterceptor.java:190) > > > at > > > > org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor.invoke(Stateful Sess > ionInstanceInterceptor.java:271) > > > > > > > > > followed by a few pages of > > > > > > 18:08:22,070 INFO [CachedConnectionManager] Successfully closed a > > > connection for you. Please close them yourself: > > > [EMAIL PROTECTED] > > > java.lang.Exception: Stack Trace at > > > > org.jboss.resource.connectionmanager.CachedConnectionManager.closeAll(Ca ched > ConnectionManager.java:376) > > > at > > > > org.jboss.resource.connectionmanager.CachedConnectionManager.popMetaAwar eObj > ect(CachedConnectionManager.java:199) > > > at > > > > org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke( Cach > edConnectionInterceptor.java:190) > > > at > > > > org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor.invoke(Stateful Sess > ionInstanceInterceptor.java:271) > > > etc... > > > > > > which is probably why we need eager-release for JBoss. Presumably the > > > eager-release gives OJB a hint to cleanup its connections before > > > JBoss comes to repossess them. > > > > > > regards > > > > > > Gary > > > > > > > > > -----Original Message----- From: Thomas Mahler [mailto:[EMAIL PROTECTED] > > > Sent: 02 June 2003 17:44 To: OJB Users List Subject: Re: Limited > > > collection returned > > > > > > > > > So both of you use the eager-release="true" feature. Have you tried > > > to disable it? > > > > > > Maybe Armin knows a bit more about this feature ? > > > > > > cheers, Thomas > > > > > > Ken Dempster wrote: > > > > > >> My setup is as follows: Jboss 3.2.1 OBJ 1.0 RC3 OJB.properties set > > >> to PersistenceBrokerImpl, PersistenceBrokerFactoryDefaultImpl, and > > >> ConnectionFactoryManagedImpl, ObjectCachePerBrokerImpl. DB2 > > >> database Server AS400 running both Jboss and DB2 I generate my own > > >> JdbcConnectionDescriptor with the following settings: > > >> JdbcConnectionDescriptor descriptor = new > > >> JdbcConnectionDescriptor(); descriptor.setBatchMode(false); > > >> descriptor.setDatasourceName("java:DB2DS"); > > >> descriptor.setDbAlias("serverName"); descriptor.setDbms("Db2"); > > >> descriptor.setDefaultConnection(true); > > >> descriptor.setEagerRelease(true); > > >> descriptor.setIgnoreAutoCommitExceptions(false); > > >> descriptor.setJcdAlias("java:DB2DS"); > > >> descriptor.setJdbcLevel("2.0"); descriptor.setPassWord("password"); > > >> descriptor.setProtocol("jdbc"); descriptor.setSubProtocol("db2"); > > >> descriptor.setUseAutoCommit(0); > > >> descriptor.setUserName("user_name"); SequenceDescriptor > > >> sequenceDescriptor = new > > >> > SequenceDescriptor("org.apache.ojb.broker.util.sequence.SequenceManagerN > > >> extValImpl"); > > >> > > >> - Ken > > >> > > >> > > >> > > >> > > >> > > >> > > >> Ken Dempster Programmer Analyst Vision Solutions, Inc. > > >> > > >> 17911 Von Karman Ave, 5th Floor Irvine, CA 92614 UNITED STATES > > >> > > >> Tel: +1 (949) 253-6500 Fax: +1 (949) 253-6501 Email: > > >> [EMAIL PROTECTED] <http://www.visionsolutions.com/> > > >> Disclaimer - 6/2/2003 The contents of this e-mail (and any > > >> attachments) are confidential, may be privileged, and may contain > > >> copyright material of Vision Solutions, Inc. or third parties. You > > >> may only reproduce or distribute the material if you are expressly > > >> authorized by Vision Solutions to do so. If you are not the > > >> intended recipient, any use, disclosure or copying of this e-mail > > >> (and any attachments) is unauthorized. If you have received this > > >> e-mail in error, please immediately delete it and any copies of it > > >> from your system and notify us via e-mail at > > >> [EMAIL PROTECTED] -----Original Message----- From: > > >> McCaffrey, John G. [mailto:[EMAIL PROTECTED] Sent: Monday, > > >> June 02, 2003 8:02 AM To: 'OJB Users List' Subject: RE: Limited > > >> collection returned > > >> > > >> > > >> Thanks for your investigation Gary. This is exactly what I was > > >> suspecting (RSIterator not iterating), now I guess the thing is to > > >> figure out how the result set got closed. I am not sure why there > > >> seem to be only a few people having this problem, it seems like > > >> such basic functionality that there would be more of an uproar. It > > >> makes me wonder what the afflicted have in common, and for those > > >> people that can get a collection of dependent objects, how is their > > >> setup different (assuming that there are people that are not having > > >> this problem) > > >> > > >> my setup I have the basic OJB.props settings default > > >> PersistenceBrokerImpl, PersistenceBrokerFactoryDefaultImpl, > > >> ConnectionManagerImpl, and I am using ConnectionFactoryDBCPImpl > > >> (though I have tried the others and still have the problem). > > >> > > >> Windows 2000, db-ojb-1.0.rc3.jar, commons-dbcp.jar I am using WSAD > > >> (with datasource) and DB2, and I am using the PB API. > > >> > > >> > > >> ###### Gary, Dan, Jin, Ken, etc what is your basic setup? > > >> > > >> Is there anybody with this same setup that is able to get a > > >> collection of dependent objects? (help me figure out what i have > > >> that is different) ###### I feel like a solution is right around > > >> the corner. (and its a good thing, because I am supposed to go to > > >> production by the end of the week!) > > >> > > >> Thanks to Gary and everyone that is looking into this. -john > > >> > > >> -----Original Message----- From: Gary Richards > > >> [mailto:[EMAIL PROTECTED] Sent: Monday, June 02, 2003 9:05 AM To: > > >> OJB Users List Subject: RE: Limited collection returned > > >> > > >> > > >> > > >> Hi everyone, > > >> > > >> Thought I'd offer my current observations on this as I work with > > >> Dan and am running off the same codebase (JBoss 3.2.x, MySql, ODMG > > >> etc....) and therefore trying to crack the same problem. > > >> > > >> I've been using the eclipse debugger to step through the action of > > >> invoking a query. I have spent most of the recent time observing > > >> private ManageableCollection getCollectionByQuery(Class > > >> collectionClass, Class itemClass, Query query) of the > > >> PersistanceBrokerImpl class (line 1293), inparticular the actions > > >> of the while loop on line 1335 which reads as, > > >> > > >> while (((endAt == Query.NO_END_AT_INDEX) || (retrievedCount < > > >> numberOfObjectsToFetch)) && iter.hasNext()) > > >> > > >> I have witnessed the hasNext() call of this condition to return > > >> false during the second cycle of the loop, even though I now there > > >> to be 13 rows in the database table and 13 elements behind the > > >> Iterator. I have determined this (for those who know eclipse) by > > >> editing the detail formatter of the RSIterator class to read > > >> "this.size()" which shows 13 when I highlight it. > > >> > > >> This leads me onto RSIterator.hasNext() (line 216) which I have > > >> moved onto observe as a result. I noticed that on the second cycle > > >> of the iterator, the call from within hasNext() will issue > > >> > > >> hasNext = m_rsAndStmt.m_rs.next(); (line 223) > > >> > > >> This throws an expection which is caught by the same method so that > > >> false is returned. > > >> > > >> catch (Exception ex) { hasNext = false; } > > >> > > >> I have noticed that the message given by this exception ex (which > > >> is not logged, only gets caught) is "Operation not allowed after > > >> ResultSet closed". This certainly suggests that something has > > >> closed the ResultSet before the iterator has been fininshed with > > >> (exactly what it says in the message ;) ). > > >> > > >> This almost always seems to happen after dependant objects have > > >> been retieved as when we set auto-retrieve = "false" in > > >> repository_user.xml for the appropriate property we get all rows of > > >> the single table we query on but no dependant objects, however when > > >> we set auto-retrieve = "true" we get only the first row of the > > >> single table and all its dependant objects. > > >> > > >> Is this possibly linked to the eager-release feature which needs to > > >> be enabled for operation on JBoss, or a side effect of bug OJB172? > > >> > > >> Any other thoughts? > > >> > > >> regards > > >> > > >> Gary > > >> > > >> > > >> -----Original Message----- From: Dan Hanley Sent: Mon 02/06/2003 > > >> 14:38 To: OJB Users List Cc: Subject: RE: Limited collection > > >> returned > > >> > > >> Jin Are you also running in a managed environment (e.g. jBoss)? I > > >> suspect the bug you're referring to is: Type : Defect Issue > > >> Id : OJB172 Reported by: Rob Kischuk rkischuk - (rkischuk <at> > > >> gttx.org) Details: Platform: PC Operating system: windows 2000 > > >> Summary: Loading composite object leads to truncated collection > > >> Description: Repeated calls to retrieve a collection of objects > > >> that each contain another object are retrieving truncated results, > > >> which are incrementally built to their proper length using repeated > > >> requests. Status: New Priority: Undecided Severity: Major > > >> Functional area: Setup ... which sounds like it could be the > > >> culprit. A colleague of mine is trying to trace through with the > > >> eclipse debugger to see if we can cast any light on this. You are > > >> not alone, its holding a lot of people up... Dan -----Original > > >> Message----- From: Jin Bal [mailto:[EMAIL PROTECTED] Sent: Fri > > >> 30/05/2003 22:07 To: OJB Users List Cc: Subject: Re: Limited > > >> collection returned I'm also having this problem - thank god > > >> someone else's said so ! it's been driving me mad ;-) i've been > > >> using ojb since 0.9.5 and have only noticed it recently. (sorry > > >> can't be more precise than that) here's the offending class > > >> descriptor <class-descriptor > > >> class="com.buyacar.businessobjects.Vehicle" table="vehicle"> > > >> ....blah blah properties etc <!-- IMAGES --> > > >> <collection-descriptor name="images" auto-retrieve="true" > > >> element-class-ref="com.buyacar.businessobjects.VehicleImage"> > > >> <inverse-foreignkey field-id-ref="1"/> </collection-descriptor> > > >> </class-descriptor> <class-descriptor > > >> class="com.buyacar.businessobjects.BACVehicleDetails" > > >> table="bac_details"> <reference-descriptor name="vehicle" > > >> class-ref="com.buyacar.businessobjects.Vehicle" > > >> auto-retrieve="true"> <foreignkey field-id-ref="2"/> > > >> </reference-descriptor> </class-descriptor> whenever I load a > > >> BACVehicleDetails (and therefore a Vehicle) I only ever get one > > >> image in the collection. more over I have a search engine that > > >> only returns 1 result the first time then 2 on the second submit > > >> then 3 ......etc :-( heres the search engine code > > >> PersistenceBroker broker = null; try { broker = getBroker(); > > >> Criteria criteria = new Criteria(); // check if theyve specified a > > >> price bracket if(searchParams.getMaxPrice() !=null && > > >> searchParams.getMinPrice()!=null) { > > >> > criteria.addBetween("price",searchParams.getMinPrice(),searchParams.getM > > >> axPr ice()); } else if(searchParams.getMaxPrice()!=null && > > >> searchParams.getMinPrice()==null) { > > >> criteria.addLessOrEqualThan("price",searchParams.getMaxPrice()); } > > >> else if(searchParams.getMaxPrice()==null && > > >> searchParams.getMinPrice()!=null) { > > >> criteria.addGreaterOrEqualThan("price",searchParams.getMinPrice()); > > >> } if(searchParams.getManufacturer() !=null && > > >> searchParams.getModel()==null) { > > >> > criteria.addEqualTo("vehicle.model.manufacturerId",searchParams.getManuf > > >> actu rer()); } if(searchParams.getModel() !=null) { > > >> criteria.addEqualTo("vehicle.modelId",searchParams.getModel()); } > > >> if(searchParams.getBodyStyle() != null) { > > >> > criteria.addEqualTo("vehicle.derivative.bodyStyleId",searchParams.getBod > > >> ySty le()); } if(searchParams.getFuelType() != null) { > > >> > criteria.addEqualTo("vehicle.derivative.fuelId",searchParams.getFuelType > > >> ()); } if(searchParams.getOrderBy() !=null) { > > >> criteria.addOrderByAscending(searchParams.getOrderBy()); } > > >> if(searchParams.getChannel()!=null && > > >> !searchParams.getChannel().equals("")) { > > >> criteria.addEqualTo("channel",searchParams.getChannel()); } > > >> criteria.addEqualTo("status",searchParams.getStatus()); > > >> criteria.addEqualTo("visibility",searchParams.getVisibility()); > > >> criteria.addGreaterOrEqualThan("displayTo",new java.util.Date()); > > >> criteria.addLessOrEqualThan("displayFrom",new java.util.Date()); > > >> Query query = new > > >> QueryByCriteria(BACVehicleDetails.class,criteria,true); Collection > > >> c = broker.getCollectionByQuery(query); logger.debug("collection > > >> size: "+c.size()); Iterator results = c.iterator(); ArrayList list > > >> = new ArrayList(); while(results.hasNext()) { // perform cast now > > >> to check that we've got the correct object type BACVehicleDetails > > >> vDetails = (BACVehicleDetails) results.next(); list.add(vDetails); > > >> } return list; } finally { if (broker!=null) { broker.close(); } } > > >> > > > > >> sorry for the long code post it seems that when the cache is > > >> filled up it works ok help this is stopping me going live with the > > >> site :-( BTW I did a search on the dev list and noticed a bug > > >> opened on the 23rd MAy but i can't find it now cheers Jin ----- > > >> Original Message ----- From: "McCaffrey, John G." > > >> <[EMAIL PROTECTED]> To: "'OJB Users List'" > > >> <[EMAIL PROTECTED]> Sent: Friday, May 30, 2003 5:52 PM > > >> Subject: RE: Limited collection returned > yes, I also noticed > > >> that, and I tried pre-fetching, but that didn't help me > either. > > > >> > so are you having the same problem then? You are only getting > > >> one row back, > instead of many? > > (my collection is filled > > >> properly with the right child elements, but I am > not getting all > > >> of the parents that match the query, and the query is select > all > > >> parents) > > can you see the SQL? I couldn't get P6Spy to work, so > > >> I don't know what the > sql looks like. > > thanks for speaking up, > > >> I wonder if anyone else has had/is having this > problem! > > -John > > >> > > -----Original Message----- > From: Dan Hanley > > >> [mailto:[EMAIL PROTECTED] > Sent: Friday, May 30, 2003 11:47 AM > > > >> To: OJB Users List > Subject: RE: Limited collection returned > > > > > >> John > Setting auto-retrieve = "false" works for me using JBoss & > > >> mySQL *except* > that then I don't get any dependant ojbects loaded > > >> :-( > > > -----Original Message----- > From: McCaffrey, John G. > > >> [mailto:[EMAIL PROTECTED] > Sent: 30 May 2003 17:45 > To: > > >> 'OJB Users List' > Subject: RE: Limited collection returned > > > I > > >> have been having the same problem. It seems like the initial query > > >> > actually gets all the rows, but the RSIterator only gives you one > > >> at a time. > In my situation if I have 4 rows that match the > > >> query, and I execute the > query once, I only get one row, each > > >> additional time I execute the query I > get one more row (all > > >> previous rows are also returned in the collection). > This is only > > >> happening for a referenced collection, all of my other queries > > > >> are working fine. I have no Idea what the deal is, I really hope > > >> that > someone can help you. > > -John > > -----Original > > >> Message----- > From: Ken Dempster > > >> [mailto:[EMAIL PROTECTED] > Sent: Friday, May 30, 2003 > > >> 11:38 AM > To: [EMAIL PROTECTED] > Subject: Limited collection > > >> returned > > > Most everything works except I only get one out of > > >> the know four row > objects from the table in my collection. I > > >> want to get all the row > objects in the table. My question is why > > >> am I only getting only one row > object? I am not sure what I am > > >> doing something wrong. > > Here is how I have things setup. I have > > >> set jboss 3.2 as suggested in > the deployment section of the > > >> documentation and have jboss configured it > with data source to > > >> connect to a DB2 database. I am requesting a > collection from a > > >> client to a SessionBean that delegates to a > PersistenceBroker > > >> instance. Basicly I am using the code in > PersistenceBrokerBean > > >> as a template for my EJB. I do generate my own > > > >> JdbcConnectionDescriptor and pass it to the ConnectionRepository > > >> instead > of using the repository.xml to define my > > >> JdbcConnectionDescriptor. > > My query looks as follows: > Query > > >> query = new QueryByCriteria(Runner.class, null); > > Collection > > >> list = > getPersistenceBrokerRemote().getCollectionByQuery(query); > > >> > > > My ClassDescriptor of the collection of objects I am trying > > >> to get is > defined in the repository_user.xml as follows : > > > > >> <class-descriptor class="test.ojb.Runner" table="KENLIB.RUNNER"> > > > >> > <field-descriptor name="m_id" column="ID" jdbc-type="INTEGER" > > > >> primarykey="true" autoincrement="true"/> > > <field-descriptor > > >> name="m_name" column="NAME" jdbc-type="VARCHAR"/> > > > > >> <collection-descriptor name="m_times" > > >> element-class-ref="test.ojb.Time"> > > <inverse-foreignkey > > >> field-ref="m_id"/> > > </collection-descriptor> > > > > >> </class-descriptor> > > <class-descriptor class="test.ojb.Race" > > >> table="KENLIB.RACE"> > > <field-descriptor name="m_id" column="ID" > > >> jdbc-type="INTEGER" > primarykey="true" autoincrement="true"/> > > > > >> <field-descriptor name="m_location" column="LOCATION" > > > >> jdbc-type="VARCHAR"/> > > <field-descriptor name="m_date" > > >> column="DATE" jdbc-type="DATE"/> > > </class-descriptor> > > > > >> <class-descriptor class="test.ojb.Time" table="KENLIB.RACE_TIME"> > > > >> > <field-descriptor name="m_id" column="ID" jdbc-type="INTEGER" > > > >> primarykey="true" autoincrement="true"/> > > <field-descriptor > > >> name="m_runner_id" column="RUNNER_ID" > jdbc-type="INTEGER"/> > > > > >> <field-descriptor name="m_race_id" column="RACE_ID" > > > >> jdbc-type="INTEGER"/> > > <field-descriptor name="m_time" > > >> column="TIME" jdbc-type="VARCHAR"/> > > <reference-descriptor > > >> name="m_race" class-ref="test.ojb.Race"> > > <foreignkey > > >> field-ref="m_race_id"/> > > </reference-descriptor> > > > > >> </class-descriptor> > > > > > Ken Dempster > Programmer Analyst > > > >> Vision Solutions, Inc. > > 17911 Von Karman Ave, 5th Floor > > > >> Irvine, CA 92614 > UNITED STATES > > Tel: +1 (949) 253-6500 > Fax: > > >> +1 (949) 253-6501 > Email: [EMAIL PROTECTED] > > > >> <http://www.visionsolutions.com/> > Disclaimer - 5/30/2003 > The > > >> contents of this e-mail (and any attachments) are confidential, may > > >> be > privileged, and may contain copyright material of Vision > > >> Solutions, Inc. or > third parties. You may only reproduce or > > >> distribute the material if you are > expressly authorized by Vision > > >> Solutions to do so. If you are not the > intended recipient, any > > >> use, disclosure or copying of this e-mail (and any > attachments) > > >> is unauthorized. If you have received this e-mail in error, > > > >> please immediately delete it and any copies of it from your system > > >> and > notify us via e-mail at [EMAIL PROTECTED] > > > > > >> --------------------------------------------------------------------- > > >> > To unsubscribe, e-mail: [EMAIL PROTECTED] > For > > >> additional commands, e-mail: [EMAIL PROTECTED] > > > > > >> --------------------------------------------------------------------- > > >> > To unsubscribe, e-mail: [EMAIL PROTECTED] > For > > >> additional commands, e-mail: [EMAIL PROTECTED] > > > > >> --------------------------------------------------------------------- > > >> > To unsubscribe, e-mail: [EMAIL PROTECTED] > For > > >> additional commands, e-mail: [EMAIL PROTECTED] > > > > >> --------------------------------------------------------------------- > > >> To unsubscribe, e-mail: [EMAIL PROTECTED] For > > >> additional commands, e-mail: [EMAIL PROTECTED] > > >> > > >> > > >> --------------------------------------------------------------------- > > >> To unsubscribe, e-mail: [EMAIL PROTECTED] For > > >> additional commands, e-mail: [EMAIL PROTECTED] > > >> > > >> > > >> > > >> --------------------------------------------------------------------- > > >> To unsubscribe, e-mail: [EMAIL PROTECTED] For > > >> additional commands, e-mail: [EMAIL PROTECTED] > > >> > > >> > > > > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] For > > > additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > > ------------------------------------------------------------------------ -------- > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
