FAO Brian & Manik - RE: [jbosscache-dev] Testing JDBCCacheLoader - Embedding AS inside aUT?

Galder Zamarreno galder.zamarreno at jboss.com
Wed Jan 17 06:24:17 EST 2007


I need JNDI and JDBC connection pooling so that I can test the ManagedConnectionFactory path. Basically, retrieve the DataSource from JNDI and make sure that the JDBCCacheLoaderTest works fine with it.

I'm gonna try setting this up in the test using libraries from AS. Otherwise, I might failover on standalone pooling from C3P0 that I could bind to JNDI and try that.

C3P0 stuff is moving forward. I hope to have it ready by Monday including documentation, fingers crossed :)

Galder Zamarreño
Sr. Software Maintenance Engineer
JBoss, a division of Red Hat

IT executives: Red Hat still #1 for value http://www.redhat.com/promo/vendor/

-----Original Message-----
From: Manik Surtani [mailto:manik at jboss.org] 
Sent: 17 January 2007 10:24
To: Galder Zamarreno
Cc: jbosscache-dev at lists.jboss.org
Subject: Re: FAO Brian & Manik - RE: [jbosscache-dev] Testing JDBCCacheLoader - Embedding AS inside aUT?

On 16 Jan 2007, at 18:58, Galder Zamarreno wrote:

> In fact, I can't see a straightforward way of running  
> JDBCCacheLoaderTest without running the test inside AS. We could  
> set up the necessary libraries and system properties to query java:/ 
> DefaultDS, but of course, you can only search this locally.
>
> There's a hack to make DefaultDS available outside the VM but this  
> returns javax.naming.Reference and not javax.sql.DataSource, so any  
> attempt to go down this route would mean modification to the source  
> code.
>
> I just wanna make sure that the JDBCCacheLoaderTest runs for  
> ManagedConnectionFactories. This is because as a result of  
> introducing external standalone connection pooling, I'm having to  
> do some fairly fundamental changes JDBCCacheLoader. I can easily  
> test NonManagedConnectionFactory and C3P0ConnectionFactory, but  
> testing ManagedConnectionFactories path becomes a bit more  
> complicated.
>

What resources do you need from the AS?  Can these be emulated?

> In fact, deep down, I wanna refactor a little bit JDBCCacheLoader  
> cos there's too much going on in one file and I'd like to take out  
> some of the classes/interfaces defined inside.

+1!!  :-)

>
> This might not be that important at this stage cos, which AS  
> version would I test it against? JBossCache 2.0 won't work with  
> 4.0.x, so the only use case for ManagedConnectionFactory I can  
> think of would be a user defined cache with a JDBCCacheLoader as  
> none of the 4.0.x code would be able to interact with this cache.  
> Only user code could really interact with JBossCache 2.0 at the  
> moment and even if they did, they either run default configuration  
> or, if they run all, they'd need scoped deployment. Has it been  
> defined the plan for 4.2 in terms of JBossCache? What version are  
> we gonna be shipping there?

1.4.1.

>
> Brian, Manik, thoughts?
>
> For the moment, I'm focusing on getting all the stuff right for  
> NonManagedConnectionFactory and C3P0ConnectionFactory paths.
>
> Galder Zamarreño
> Sr. Software Maintenance Engineer
> JBoss, a division of Red Hat
>
> IT executives: Red Hat still #1 for value http://www.redhat.com/ 
> promo/vendor/
>
> -----Original Message-----
> From: Galder Zamarreno
> Sent: 16 January 2007 18:23
> To: Galder Zamarreno; Ryan Campbell; Manik Surtani
> Cc: jbosscache-dev at lists.jboss.org; QA
> Subject: RE: [jbosscache-dev] Testing JDBCCacheLoader - Embedding  
> AS inside aUT?
>
> BTW, I have taken Head, modified cache-jdbc.properties so that I  
> can test JDBCCacheLoaderTest with AS and the tests fail. Currently  
> investigating it...
>
> Galder Zamarreño
> Sr. Software Maintenance Engineer
> JBoss, a division of Red Hat
>
> IT executives: Red Hat still #1 for value http://www.redhat.com/ 
> promo/vendor/
>
> -----Original Message-----
> From: jbosscache-dev-bounces at lists.jboss.org [mailto:jbosscache-dev- 
> bounces at lists.jboss.org] On Behalf Of Galder Zamarreno
> Sent: 16 January 2007 17:49
> To: Ryan Campbell; Manik Surtani
> Cc: jbosscache-dev at lists.jboss.org; QA
> Subject: RE: [jbosscache-dev] Testing JDBCCacheLoader - Embedding  
> AS inside aUT?
>
> But thinking about this, should JBC be the one providing  
> integration tests with Hibernate? Unlike JBDCCL where Cache is the  
> client for AS, in Hibernate's case, it's Hibernate who's JBC's  
> client and therefore, Hibernate should be the one tested.
>
>> From JBC's point of view, we don't know what we need to do to  
>> Hibernate to confirm that is working correctly, it's not really  
>> our domain. IMHO, this is Hibernate's domain and it's this project  
>> who should include integration tests with JBC versions.
>
> Galder Zamarreño
> Sr. Software Maintenance Engineer
> JBoss, a division of Red Hat
>
> IT executives: Red Hat still #1 for value http://www.redhat.com/ 
> promo/vendor/
>
> -----Original Message-----
> From: Ryan Campbell
> Sent: 16 January 2007 17:39
> To: Manik Surtani; Galder Zamarreno
> Cc: jbosscache-dev at lists.jboss.org; QA
> Subject: RE: [jbosscache-dev] Testing JDBCCacheLoader - Embedding  
> AS inside a UT?
>
> The portal builds do something similar.  We have exploded jboss  
> instances on cruisecontrol, and pass in their paths via system  
> properties.
>
> We don't have anything like this for hibernate, although this is  
> pretty easy using <get/> and repository.jboss.com.
>
>> -----Original Message-----
>> From: Manik Surtani [mailto:manik at jboss.org]
>> Sent: Tuesday, January 16, 2007 4:05 AM
>> To: Galder Zamarreno
>> Cc: jbosscache-dev at lists.jboss.org; QA
>> Subject: Re: [jbosscache-dev] Testing JDBCCacheLoader - Embedding AS
>> inside a UT?
>>
>> Wow.  I'd hate to add the weight of downloading (on the fly?) an AS
>> version, starting and stopping it from within a unit test.
>>
>> As an immediate solution we could add this to the list of manual
>> release procedures so it gets done with every release, but as you
>> pointed out manual steps suck too.
>>
>> IMO, this falls into a category of integration tests (such as testing
>> with Hibernate releases) which needs to sit outside of the usual
>> cruise control runs and the functional test suite.
>>
>> I propose a more formal integration test suite (maybe with it's own
>> cruise control target?) which:
>>
>> 1)  Pulls down different versions of JBC and performs compat/interop
>> tests (we already have these)
>> 2)  Pulls down different Hibernate versions and performs tests on  
>> these
>> 3)  Pulls down different AS versions and performs tests, including
>> the JDBCCacheLoader with managed collections as well as other JBC
>> 'use cases' such as SFSBs and HTTP Sessions
>> 	3.1)  Different combinations of the versions in 2) and 3), to test
>> EJB3 entity beans
>> 	3.2)  Combinations including different JGroups versions
>>
>> So as you can see, we have a shit load of test combinations that can
>> come out of this.  I do see the value here though, it will even make
>> QA's work in certifying JBC releases against AS versions and JGroups
>> versions (and even Hibernate versions) easier.
>>
>> --
>> Manik Surtani
>>
>> Lead, JBoss Cache
>> JBoss, a division of Red Hat
>>
>> Email: manik at jboss.org
>> Telephone: +44 7786 702 706
>> MSN: manik at surtani.org
>> Yahoo/AIM/Skype: maniksurtani
>>
>>
>>
>> On 16 Jan 2007, at 00:42, Galder Zamarreno wrote:
>>
>>> I've been messing around with JDBCCacheLoader and I have realised
>>> that we don't currently have a unit test that can test the
>>> JDBCCacheLoader inside an AS. Ok, we have JDBCCacheLoaderTest that
>>> can work based on the cache-jdbc.properties and you could start AS
>>> manually and test it.
>>>
>>> This however is a manual process and when it comes to CC, only
>>> standalone JDBCCacheLoader is being tested.
>>>
>>> I think it'd be ideal to basically extend JDBCCacheLoaderTest to
>>> set it up to work with an AS (starting it/stopping it). This would
>>> give us even more confidence and coverage for the
>>> ManagedConnectionFactory area. I might not have time to do that
>>> before I commit my current work for BETA1 but definitely something
>>> worth bearing in mind.
>>>
>>> Another question would be of course, what AS version would be
>>> integrate against?
>>>
>>> There're various projects out there that have done something
>>> similar, first obviously AS itself and second messaging. What's
>>> your experience with this? What have we learnt about it? Shall we
>>> reuse some code for this? We would need a very limited AS version
>>> actually with JNDI, JDBC Connection Pooling, HS and HS driver.
>>>
>>> As you can see, this opens ups whole bunch of questions. Thoughts?
>>> Opinions? Critics?
>>>
>>> Cheers,
>>>
>>> Galder Zamarreño
>>> Sr. Software Maintenance Engineer
>>> JBoss, a division of Red Hat
>>>
>>> IT executives: Red Hat still #1 for value http://www.redhat.com/
>>> promo/vendor/
>>>
>>>
>>> _______________________________________________
>>> jbosscache-dev mailing list
>>> jbosscache-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/jbosscache-dev
>>
>
>
> _______________________________________________
> jbosscache-dev mailing list
> jbosscache-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jbosscache-dev






More information about the jbosscache-dev mailing list