Hello Gavin,

I had to change only one thing: java:/DefaultDS to java:/MSSQLDS.

I get the same output for both methods. The difference is only in id
values:
****************************************
Bar id through foo: 4
Bar id through bars foos:
        Number of foos associated with bar: 1

Foo id: 4
Bar id: 4
****************************************

alex

Wednesday, July 30, 2003, 3:20:26 AM, Gavin Matthews wrote:

GM> Alex,
GM>  Attached is the standalone case - it exhibits the same behaviour (i.e. the
GM> cmr problem).

GM>  It's hacked out of our inhouse environment so the build scripts could be
GM> cleaner, however they should work fine for you. I believe all you will need
GM> to modify some of the paths in cmrtest-config.xml: 

GM> <property name="build.root" location="y:/CmrTest/build" />
GM> <property name="xdoclet.lib"
GM> value="y:/External/Java/XDocLet/xdoclet-1.2.0-beta3/lib" />
GM> <property name="jboss3.home"
GM> value="y:/External/Java/JBoss/jboss-3.2.2RC2_jetty-4.2.11"/>
GM> <property name="commons-logging.home"
GM> value="y:/External/Java/commons-logging/commons-logging-1.0.2"/>

GM> Just run ant to build it, the build files should go into CmrTest/build. It
GM> generates 2 files to deploy:

GM> CmrTest/build/ejb/target/cmrtest-ejb.jar  -  which contains the entities &
GM> session. 
GM> CmrTest/build/service/jboss3/target/cmrtest-service-jboss3.sar  -  This is a
GM> mbean service (it was faster than writing a cactus testcase) used to run the
GM> test case.

GM> Deploy the ejb jar and then the service. Open up the service in the JMX
GM> console and start it. You'll see the service has two relevant methods,
GM> testWithFinder & testWithoutFinder. They both execute the same code the only
GM> difference is that in the middle of testWithFinder a finder is called which
GM> causes a db sync. testWithFinder behaves as expected testWithoutFinder is
GM> the bug I'm seeing.

GM> Let me know if I can provide anything other info or if you've problems with
GM> the test case.

GM> gavin


 

>> -----Original Message-----
>> From: Alexey Loubyansky [mailto:[EMAIL PROTECTED]
>> Sent: Tuesday, July 29, 2003 12:23 AM
>> To: '[EMAIL PROTECTED]'
>> Subject: Re[2]: [JBoss-user] CMR Problem in 3.2.2RC2
>> 
>> 
>> Hello Gavin,
>> 
>> can you provide a testcase? Previously, you posted the source files
>> and I integrated them into a testcase. Can you send me a ready-to-run
>> testcase so I need just issue 'build run' or like that?
>> I'll correct it and send it back to you fixed.
>> 
>> alex
>> 
>> Tuesday, July 29, 2003, 12:20:04 AM, Gavin Matthews wrote:
>> 
>> 
>> GM> Alex,
>> GM>  I've double checked everything and it definitely does 
>> not work for me. I'm
>> GM> not sure what the cause could be unless there's some 
>> weird config issue (I
>> GM> fixed the known/unknown config - but that didn't affect 
>> the behaviour I'm
>> GM> seeing). I'm using the JBoss-3.2.2RC2_Jetty-4.2.11 
>> release bundle, commit
>> GM> option C (tried with B also). 
>> 
>> GM>  The fact that this is working for you is a bit 
>> perplexing and I'm not
>> GM> really sure where to go from here. Any suggestions on 
>> what I should look
>> GM> for? Where in the code should I focus my efforts to 
>> figure out what's
>> GM> happening - at a rough high-level guess it looks like 
>> something is wrong
>> GM> with the caching of objects at a transaction level, any 
>> way I can easily
>> GM> prove/disprove this?
>> 
>> GM> thanks,
>> GM> gavin
>> 
>>  
>> 
>> 
>> >> -----Original Message-----
>> >> From: Alexey Loubyansky [mailto:[EMAIL PROTECTED]
>> >> Sent: Friday, July 25, 2003 4:30 AM
>> >> To: Gavin Matthews
>> >> Subject: Re: [JBoss-user] CMR Problem in 3.2.2RC2
>> >> 
>> >> 
>> >> Hello Gavin,
>> >> 
>> >> I am sorry, it works for me! I used your source files, MS 
>> SQL Server
>> >> 2000 and your testSchema.sql.
>> >> 
>> >> Anyway, I have some remarks. You are using unknown pk with name id,
>> >> while there is a CMP field id. You should not do it.
>> >> If you want a "known" pk and use a pk generation command, then just
>> >> mark the pk field as @jboss.persistence auto-increment="true".
>> >> 
>> >> alex
>> >> 
>> >> Thursday, July 24, 2003, 11:48:19 PM, Gavin Matthews wrote:
>> >> 
>> >> GM> Hi,
>> >> GM>  I posted this to the group a couple of weeks ago when 
>> >> trying to get
>> >> GM> 3.2.2RC1 working. Alex had a look at it and figured it 
>> >> was fixed for RC2. As
>> >> GM> RC2 was only a couple of weeks away I decided it'd be 
>> >> easier for me to wait
>> >> GM> for RC2 than build it, my mistake, I've just grabbed RC2 
>> >> - it's still there.
>> >> GM> (I'll log a bug this time).
>> >> 
>> >> GM> gavin
>> >> 
>> >> >> -----Original Message-----
>> >> >> From: Gavin Matthews 
>> >> >> Sent: Thursday, July 03, 2003 7:05 PM
>> >> >> To: [EMAIL PROTECTED]
>> >> >> Cc: '[EMAIL PROTECTED]'
>> >> >> Subject: CMR Problem in 3.2.2?
>> >> >> 
>> >> >> 
>> >> >> Hi,
>> >> >>  I posted yesterday and last week about a problem I was 
>> >> >> having with CMR when I upgraded from 3.2.0 to 3.2.2. I've 
>> >> >> done more investigation and I don't think my previous mails 
>> >> >> were entirely accurate (or very clear) so let me start over. 
>> >> >> 
>> >> >>  The Problem:
>> >> >>  I'm experiencing NPE in our app because the CMR 
>> >> >> relationships are (apparently) not being created. This didn't 
>> >> >> occur with our app in 3.2.0. 
>> >> >> 
>> >> >>  I have a sample case which I believe is representitive of 
>> >> >> the problem I'm seeing in our app. The beans are Foo & Bar 
>> >> >> (sorry about the naming). The relationship is N-Foo-1-Bar. 
>> >> >> The relation is being set in post create:
>> >> >> 
>> >> >> public abstract class FooEJB extends AbstractEntityBean {
>> >> >> ...
>> >> >>     public void ejbPostCreate(BarLocal bar, String fooValue) 
>> >> >> throws CreateException {
>> >> >>         sLog.debug("ejbPostCreate(" + getId() + ")");
>> >> >>         
>> >> >>         this.setBar(bar);
>> >> >>     }
>> >> >> ...
>> >> >> }
>> >> >>  
>> >> >> And I have a test session which does the following:
>> >> >> 
>> >> >> ...
>> >> >>             BarLocal bar = createBar("This is a bar");
>> >> >>             FooLocal foo = createFoo(bar, "This is a foo");
>> >> >>             
>> >> >>             
>> sLog.info("****************************************");
>> >> >>             sLog.info("Bar id through foo: " + 
>> >> foo.getBar().getId());
>> >> >>             sLog.info("Bar id through bars foos: ");
>> >> >> 
>> >> >>             Collection foos = bar.getFoos();            
>> >> >>             sLog.info("Number of foos associated with bar: " 
>> >> >> + foos.size());
>> >> >> 
>> >> >>             Iterator fooIter = bar.getFoos().iterator();
>> >> >>             while (fooIter.hasNext()) {
>> >> >>                 FooLocal tmpFoo = (FooLocal) fooIter.next();
>> >> >>                 sLog.info("Foo id: " + tmpFoo.getId());
>> >> >>                 sLog.info("Bar id: " + tmpFoo.getBar().getId());
>> >> >>             }
>> >> >>             
>> sLog.info("****************************************");
>> >> >> ...
>> >> >> 
>> >> >> I'd expect the output of this test case to be:
>> >> >> 
>> >> >> 18:58:38,875 INFO  [FooBarSessionEJB] 
>> >> >> ****************************************
>> >> >> 18:58:38,890 INFO  [FooBarSessionEJB] Bar id through foo: 1011
>> >> >> 18:58:38,890 INFO  [FooBarSessionEJB] Bar id through bars foos: 
>> >> >> 18:58:38,890 INFO  [FooBarSessionEJB] Number of foos 
>> >> >> associated with bar: 1
>> >> >> 18:58:38,906 INFO  [FooBarSessionEJB] Foo id: 1017
>> >> >> 18:58:38,906 INFO  [FooBarSessionEJB] Bar id: 1011
>> >> >> 18:58:38,906 INFO  [FooBarSessionEJB] 
>> >> >> ****************************************
>> >> >> 
>> >> >> What I'm actually seeing is:
>> >> >> 
>> >> >> 18:58:38,875 INFO  [FooBarSessionEJB] 
>> >> >> ****************************************
>> >> >> 18:58:38,890 INFO  [FooBarSessionEJB] Bar id through foo: 1011
>> >> >> 18:58:38,890 INFO  [FooBarSessionEJB] Bar id through bars foos: 
>> >> >> 18:58:38,890 INFO  [FooBarSessionEJB] Number of foos 
>> >> >> associated with bar: 0
>> >> >> 18:58:38,906 INFO  [FooBarSessionEJB] 
>> >> >> *******************************************
>> >> >> 
>> >> >> If I add a finder call after the beans are created (which 
>> >> >> forces the beans to be synchronized to the database) then I 
>> >> >> get the results I expect. This makes me think that there's a 
>> >> >> problem with the  caching - the "bar" returned by the 
>> >> >> create() call is not the same Bar instance as returned by 
>> >> >> foo.getBar(). Which means that I have 2 instances of the same 
>> >> >> bean within the same transaction which have different state - 
>> >> >> seems like a bug to me, I'd have expected the foo.getBar() 
>> >> >> call to return the same "bar" as was passed to the 
>> create() call.
>> >> >> 
>> >> >> I've attached the source. For the sample, let me know what 
>> >> you think,
>> >> >> 
>> >> >> thanks,
>> >> >> gavin
>> >> 
>> >> 
>> >> 
>> >> -------------------------------------------------------
>> >> This SF.Net email sponsored by: Free pre-built ASP.NET 
>> sites including
>> >> Data Reports, E-commerce, Portals, and Forums are available now.
>> >> Download today and enter to win an XBOX or Visual Studio .NET.
>> >> http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet
>> GM> _072303_01/01
>> GM> _______________________________________________
>> GM> JBoss-user mailing list
>> GM> [EMAIL PROTECTED]
>> GM> https://lists.sourceforge.net/lists/listinfo/jboss-user
>> 
>> 
>> 
>> -------------------------------------------------------
>> This SF.Net email sponsored by: Free pre-built ASP.NET sites including
>> Data Reports, E-commerce, Portals, and Forums are available now.
>> Download today and enter to win an XBOX or Visual Studio .NET.
>> http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet
GM> _072303_01/01
GM> _______________________________________________
GM> JBoss-user mailing list
GM> [EMAIL PROTECTED]
GM> https://lists.sourceforge.net/lists/listinfo/jboss-user



-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to