You can subscribe to this list here.
| 2003 |
Jan
|
Feb
(55) |
Mar
(100) |
Apr
(203) |
May
(330) |
Jun
(190) |
Jul
(302) |
Aug
(323) |
Sep
(197) |
Oct
(245) |
Nov
(490) |
Dec
(330) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2004 |
Jan
(194) |
Feb
(400) |
Mar
(416) |
Apr
(415) |
May
(359) |
Jun
(381) |
Jul
(491) |
Aug
(311) |
Sep
(291) |
Oct
(273) |
Nov
(355) |
Dec
(266) |
| 2005 |
Jan
(306) |
Feb
(303) |
Mar
(520) |
Apr
(346) |
May
(255) |
Jun
(221) |
Jul
(171) |
Aug
(247) |
Sep
(147) |
Oct
(125) |
Nov
(165) |
Dec
(65) |
| 2006 |
Jan
(90) |
Feb
(53) |
Mar
(121) |
Apr
(103) |
May
(113) |
Jun
(103) |
Jul
(104) |
Aug
(67) |
Sep
(78) |
Oct
(82) |
Nov
(78) |
Dec
(70) |
| 2007 |
Jan
(77) |
Feb
(76) |
Mar
(63) |
Apr
(30) |
May
(47) |
Jun
(41) |
Jul
(44) |
Aug
(44) |
Sep
(49) |
Oct
(33) |
Nov
(25) |
Dec
(21) |
| 2008 |
Jan
(45) |
Feb
(13) |
Mar
(15) |
Apr
(12) |
May
(9) |
Jun
(33) |
Jul
(30) |
Aug
(7) |
Sep
(20) |
Oct
(17) |
Nov
(20) |
Dec
(10) |
| 2009 |
Jan
(8) |
Feb
(5) |
Mar
(12) |
Apr
(17) |
May
(19) |
Jun
(97) |
Jul
(77) |
Aug
(33) |
Sep
(24) |
Oct
(41) |
Nov
(16) |
Dec
(32) |
| 2010 |
Jan
(24) |
Feb
(14) |
Mar
(50) |
Apr
(71) |
May
(70) |
Jun
(64) |
Jul
(45) |
Aug
(62) |
Sep
(32) |
Oct
(4) |
Nov
(12) |
Dec
(2) |
| 2011 |
Jan
(1) |
Feb
(3) |
Mar
(4) |
Apr
(3) |
May
(6) |
Jun
(1) |
Jul
(4) |
Aug
(3) |
Sep
(4) |
Oct
(6) |
Nov
(3) |
Dec
(3) |
| 2012 |
Jan
(4) |
Feb
(8) |
Mar
(6) |
Apr
(10) |
May
(2) |
Jun
(3) |
Jul
(11) |
Aug
(10) |
Sep
(4) |
Oct
|
Nov
(1) |
Dec
(1) |
| 2013 |
Jan
(4) |
Feb
(1) |
Mar
(9) |
Apr
(1) |
May
(8) |
Jun
(2) |
Jul
(5) |
Aug
(2) |
Sep
|
Oct
(3) |
Nov
(10) |
Dec
(8) |
| 2014 |
Jan
(3) |
Feb
(12) |
Mar
(9) |
Apr
(12) |
May
(2) |
Jun
|
Jul
(3) |
Aug
(1) |
Sep
(1) |
Oct
(4) |
Nov
|
Dec
(2) |
| 2015 |
Jan
(1) |
Feb
(3) |
Mar
(4) |
Apr
(9) |
May
(2) |
Jun
(2) |
Jul
|
Aug
(2) |
Sep
(7) |
Oct
(9) |
Nov
(7) |
Dec
(9) |
| 2016 |
Jan
(7) |
Feb
(5) |
Mar
(5) |
Apr
(5) |
May
(8) |
Jun
(4) |
Jul
(5) |
Aug
(4) |
Sep
(6) |
Oct
(7) |
Nov
(2) |
Dec
(3) |
| 2017 |
Jan
(7) |
Feb
(8) |
Mar
(7) |
Apr
(3) |
May
(4) |
Jun
(3) |
Jul
(5) |
Aug
(8) |
Sep
(4) |
Oct
(2) |
Nov
(3) |
Dec
|
| 2018 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2019 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
| 2021 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2022 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
| 2024 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2025 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
(2) |
Aug
(5) |
Sep
(2) |
Oct
|
Nov
|
Dec
(1) |
| 2026 |
Jan
(1) |
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Oliver H. <Oli...@ou...> - 2004-04-05 22:39:00
|
Rod, For interfaces I see how you would do it but how would it be done for abstract classes?=20 The only way I can see is to extract an interface which has all the abstract methods and then introduce it to the original abstract class but I'd still have to fall back to CGLIB to generate the interface... Not the most elegant solution but I guess it would work.=20 Thanks, Oliver -----Original Message----- From: rod...@in... [mailto:rod...@in...]=20 Sent: Monday, 5 April 2004 6:21 PM To: spr...@li... Subject: Re: [Springframework-developer] Automagic creation of concrete class from interface/abstract classes Oliver Introductions in Spring AOP should work fine for this. I=20 don't there's any need to use CGLIB independently.=20 Introductions in Spring work with dynamic proxies also. Regards, Rod ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=3D1470&alloc_id=3D3638&op=3Dcli= ck _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer |
|
From: Keith D. <kd...@cs...> - 2004-04-05 22:36:12
|
Daniel Miller's spring common validator adapter is now checked in in the
sandbox at:
=20
sandbox/src/org/springframework/validation/commons
=20
Daniel - thanks a lot your contribution! I made some *minor* code =
review
type polishing - be sure to test it to make sure I didn't break =
anything.
:-) Do you have unit tests developed you can contribute as well?
=20
I thought the code and design looked sharp. Good docs, too.
=20
Here were a few things that I noticed on initial review:
=20
- FieldChecks and JavascriptValidatorTag are a port over from the
commons-validator repository (FieldChecks is a particularly lengthy
copy-and-paste bit.) Have you tried delegating to the "real" =
commons-owned
versions of these and adding in the spring adaption stuff via =
decoration?
=20
- several setters must be called to set required =
properties/dependencies
post construction. This is much less of an issue when using the =
container,
but when used programatically it's more difficult to enforce that the =
object
in a valid, usable state. Fully-initializing constructors make more =
sense
to me in these cases (though I have to say I appreciate you documenting
those cases in the comments :-))
=20
- The use of "beanName", when referring to the "formName" (which
typically corresponds to the bean class being validating) confused me a =
bit
(since when I hear beanName I think of a reference to a instance, not a
class.)
=20
- The @TODO for per-request Locale support - could you expand upon =
what
you have in mind here? (do you have a need for working this in the near
future?)
=20
A few other questions I had:
- How often do you use the NamedBeanValidator? When would you use it =
(or
in which cases is the BeanValidator that works with the class name not =
good
enough?
- Anything else you have planned or on the wishlist for declarative
validation?
=20
Keith=20
=20
|
|
From: Alef A. <al...@jt...> - 2004-04-05 21:37:13
|
What about the separation between BeanDefinitionReaders and =
BeanFactories? I
thought BeanDefinitionReaders were supposed to do the stuff specific to =
the
format (say XML or properties) and BeanFactory is just the container. =
But
that's confusing because there still is a *Xml*BeanFactory out there.
J=FCrgen, what's your take on this? Is the XmlBeanFactory and =
XmlWebAppCtx
something ancient or does it still have its use?=20
Alef
> -----Original Message-----
> From: spr...@li...
> [mailto:spr...@li...] On =
Behalf
> Of Thomas Risberg
> Sent: Sunday, April 04, 2004 10:35 PM
> To: spr...@li...
> Subject: Re: [Springframework-developer] Groovy / Jython (was: Road =
map)
>=20
> I have bee experimenting a bit with Jython. I have not used it for a
> while, so I'm a bit rusty, but I did load an application context and
> used a data source been that was defined in it.
>=20
> I think that the different types of bean factories are going to have
> different feature sets - property files are less feature rich than the
> xml files. With jython and groovy, we will have similar issues where
> some features just does not fit naturally.
>=20
> Here is my context (applicationContext.py):
>=20
> from org.springframework.jdbc.datasource import =
DriverManagerDataSource
> from org.springframework.jdbc.core import JdbcTemplate
>=20
> dataSource =3D DriverManagerDataSource()
> dataSource.driverClassName=3D"org.hsqldb.jdbcDriver"
> dataSource.url=3D"jdbc:hsqldb:hsql://localhost"
> dataSource.username=3D"sa"
> dataSource.password=3D""
>=20
> db =3D JdbcTemplate(dataSource)
>=20
>=20
> Here is my code (LoadPyContext.java:
>=20
> import java.util.List;
>=20
> import org.python.core.PySystemState;
> import org.python.util.PythonInterpreter;
> import org.springframework.jdbc.core.JdbcTemplate;
>=20
> public class LoadPyContext {
> public static void main(String[] args) {
> System.out.println("Start");
> PySystemState.initialize();
> PythonInterpreter pyInterp =3D new PythonInterpreter();
> pyInterp.execfile("applicationContext.py");
> JdbcTemplate db =3D (JdbcTemplate) pyInterp.get("db",
> JdbcTemplate.class);
> List l =3D db.queryForList("select brand, price from beer");
> System.out.println(l);
> }
> }
>=20
> I guess the next step is to actually create a PythonBeanFactory.
>=20
> Thomas
>=20
> Alef Arendsen wrote:
>=20
> >Err,
> >
> >Been able to get a beanfactory up-and-running, however, not in a way =
as
> >elegant as I wanted it to be, but that's something that's probably =
going
> to
> >take some more time and thinking. It's something like this, and I =
don't
> like
> >it ;-)
> >
> >test =3D new BeanDef (age:8,name:'susan')
> >test.singleton =3D true
> >test.dependencyCheck =3D PRIMITIVES
> >
> >est =3D new BeanDef (age:10)
> >est.name=3D'jim'
> >est.spouse=3Dtest
> >est.singleton =3D false
> >
> >I'm not entirely sure how to go about the dependencies and properties =
of
> a
> >bean versus the behavioral stuff (singleton, dependency checking,
> etcetera).
> >For sure we need some extra stuff here (i.e. some kind of wrapper =
around
> the
> >BeanDefinition class--the BeanDef class in the script above), I don't
> think
> >dealing with MutablePropertyValue objects in a Groovy script directly =
is
> the
> >way to go. But maybe you noticed the problem in the script above =
already:
> >you can't have dependencies named 'singleton' or 'dependencyCheck' =
here.
> So
> >maybe including some kind of metadata object might be an option.
> >
> >By the way, from my point of view, there's a difference between =
reading
> in
> >and modifying a applicationcontext and its beandefinition and =
actually
> >approaching/using it at runtime. Currently I'm only thinking about =
the
> >former... Using it from Groovy scripts however could be quite =
something
> as
> >well!
> >
> >Regards,
> >Alef
> >
> >
> >
> >
> >
> >
> >>-----Original Message-----
> >>From: spr...@li...
> >>[mailto:spr...@li...] On =
Behalf
> >>Of Darren Davison
> >>Sent: Saturday, April 03, 2004 1:01 PM
> >>To: spr...@li...
> >>Subject: [Springframework-developer] Groovy / Jython (was: Road map)
> >>
> >>On Saturday 03 April 2004 09:47, Alef Arendsen wrote:
> >>
> >>
> >>
> >>>It would be nice to have something in the sandbox indeed. I'm =
currently
> >>>experimenting with a GroovyBeanDefinitionReader and it seems it's =
not
> >>>going to be all that tough to get it running!
> >>>
> >>>
> >>snap!
> >>
> >>I started looking at something similar in both Groovy and Jython =
(partly
> >>to
> >>see which of those two was 'best'). Thought it may be very useful =
for
> >>writing tests or certain deployment scripts.
> >>
> >>How far have you got with it?
> >>
> >>--
> >>
> >>Darren Davison
> >>Public Key: http://www.davison.uk.net/key.jsp
> >>
> >>
> >>-------------------------------------------------------
> >>This SF.Net email is sponsored by: IBM Linux Tutorials
> >>Free Linux tutorial presented by Daniel Robbins, President and CEO =
of
> >>GenToo technologies. Learn everything from fundamentals to system
> =
>>administration.http://ads.osdn.com/?ad_id=1470&alloc_id638&op=3Dclick
> >>_______________________________________________
> >>Springframework-developer mailing list
> >>Spr...@li...
> =
>>https://lists.sourceforge.net/lists/listinfo/springframework-developer
> >>
> >>
> >
> >
> >
> >-------------------------------------------------------
> >This SF.Net email is sponsored by: IBM Linux Tutorials
> >Free Linux tutorial presented by Daniel Robbins, President and CEO of
> >GenToo technologies. Learn everything from fundamentals to system
> >administration.http://ads.osdn.com/?ad_id=1470&alloc_id638&op=3Dclick
> >_______________________________________________
> >Springframework-developer mailing list
> >Spr...@li...
> =
>https://lists.sourceforge.net/lists/listinfo/springframework-developer
> >
> >
> >
> >
> >
>=20
>=20
>=20
> -------------------------------------------------------
> This SF.Net email is sponsored by: IBM Linux Tutorials
> Free Linux tutorial presented by Daniel Robbins, President and CEO of
> GenToo technologies. Learn everything from fundamentals to system
> administration.http://ads.osdn.com/?ad_id=1470&alloc_id638&op=3Dclick
> _______________________________________________
> Springframework-developer mailing list
> Spr...@li...
> https://lists.sourceforge.net/lists/listinfo/springframework-developer
|
|
From: Torsten J. <tju...@ya...> - 2004-04-05 20:43:26
|
I finished migrating the SpringUI Eclipse plugin into the Spring CVS (new module 'spring-ide/eclipse/'). Now I am looking for a place to host the Eclipse plugin's update site (web site with a config XML file and two folders holding the plugin data). The update site is used by Eclipse's update manager to download different versions of the plugin directly from with the IDE. Also an HTML file and a few screen copies (with some infos about the plugin and it's update site) has to be hosted somewhere. To give an example I have stored the stuff in Spring's (unused) webspace on SF.NET. The installation infos can be found on http://springframework.sourceforge.net/spring-ide/eclipse/ and the update site is available from http://springframework.sourceforge.net/spring-ide/eclipse/updatesite/. Does it make sense to host the plugin's update site and the corresponding HTML page on http://www.springframework.org/ or is SF.NET ok (the download of the Spring framework itself is hosted on SF.NET too)? Jürgen, you can create a file release on SF.NET for the plugin, if you like. The corresponding archive with version 1.0.0 of the plugin's update site is available from http://springframework.sourceforge.net/spring-ide/eclipse/updatesite/updatesite_1.0.0.zip. Torsten __________________________________ Do you Yahoo!? Yahoo! Small Business $15K Web Design Giveaway http://promotions.yahoo.com/design_giveaway/ |
|
From: Matt R. <mat...@ya...> - 2004-04-05 20:19:26
|
Juergen,
That's funny - I was just talking with Don about refactoring some stuff. Good
timing!
+1 for moving it to Spring's repository where it belongs.
I made a few changes today (just checked them in) you might want to know about:
How to use the SpringPlugin:
1. Put nothing to initialize Spring in web.xml. Use the Plugin to do this.
- Specifying a "beansConfig" path will load it from a custom path.
- No path will default to "/WEB-INF/applicationContext.xml".
- If your webapp has multiple config files - use #2 below or specify
a "contextConfigLocation" variable as a <context-param> in web.xml.
The values for this parameter should be comma-delimited.
2. Put Spring initializers (ContextLoaderListener or ContextLoaderServlet)
in web.xml and put nothing in struts-config.xml.
Note that only #1 will work if you are using MockStrutsTestCase to test your
actions. IMO, this is quite powerful b/c you can use it to test your Struts
Actions w/o a container.
I've cc'd the struts-apps mailing list so Don Brown (the original author) can
help us make this transition.
Matt
P.S. Since SF's anonymous CVS takes a while to catch up, I've uploaded the
latest source to
http://static.raibledesigns.com/downloads/struts-spring-0.3.zip. It's a 6 MB
download b/c of the refactored struts-example app.
--- jürgen_höller_[werk3AT] <jue...@we...> wrote:
> Matt,
>
> I've just read that on the Spring Live blog that you're refining Don Brown's
> Struts Spring Plugin. That reminded me that I've repeatedly considered
> including something like this Plugin in the main Spring distribution.
> Particularly if it is just two classes, I don't have worries about size and
> scope. A main benefit is that it would be available out-of-the-box with
> Spring, just like all the integrated data access and view technologies.
>
> Actually, I intend to completely rework the Plugin far beyond its current
> implementation. It should properly have its own XmlWebApplicationContext, by
> default loaded from "/WEB-INF/<servlet-name>.xml", having the Spring root
> application context (if any) as parent, just like a Spring DispatcherServlet.
>
> The beans in the Spring context can have the same name as the corresponding
> Actions in struts-config.xml. Simply don't use <bean id="..."/> but rather
> <bean name="..."/>, which allows any special characters like in "/logon.do".
> The original Plugin was written against Spring 1.0 M1 where this wasn't
> available, IIRC.
>
> SpringAction's looking up of the corresponding Spring bean and setting the
> ActionServlet can be significantly optimized. Actually, I consider the
> current implementation unsafe: It first sets the ActionServlet on the located
> Action (a shared instance) and then resets it to null again (on each
> execution!). This is not at all thread-safe.
>
> If noone objects, I'll come up with an optimized implementation for the
> standard Spring codebase within the next couple of days. We're about to
> release Spring 1.0.1 next week, and I'd be willing to already include this
> special Struts support in that release, if the stuff is as simple as I assume
> (or in 1.0.2, if it takes longer).
>
> Juergen
>
>
>
__________________________________
Do you Yahoo!?
Yahoo! Small Business $15K Web Design Giveaway
http://promotions.yahoo.com/design_giveaway/
|
|
From: <sk...@fe...> - 2004-04-05 20:01:47
|
Lomboz http://www.objectlearn.com/index.jsp Full list of all plugins here, there might be many more these days http://www.eclipse.org/community/plugins.html Also a fully preconfigured j2EE ready eclipse myeclipse.com for a pre configured j2ee env. I think they have 30$ subscription fee. Sean Kroah FedEx Ground (412) 859-5130 sk...@fe... |
|
From: <jue...@we...> - 2004-04-05 20:00:48
|
Matt, I've just read that on the Spring Live blog that you're refining Don = Brown's Struts Spring Plugin. That reminded me that I've repeatedly = considered including something like this Plugin in the main Spring = distribution. Particularly if it is just two classes, I don't have = worries about size and scope. A main benefit is that it would be = available out-of-the-box with Spring, just like all the integrated data = access and view technologies. Actually, I intend to completely rework the Plugin far beyond its = current implementation. It should properly have its own = XmlWebApplicationContext, by default loaded from = "/WEB-INF/<servlet-name>.xml", having the Spring root application = context (if any) as parent, just like a Spring DispatcherServlet. The beans in the Spring context can have the same name as the = corresponding Actions in struts-config.xml. Simply don't use <bean = id=3D"..."/> but rather <bean name=3D"..."/>, which allows any special = characters like in "/logon.do". The original Plugin was written against = Spring 1.0 M1 where this wasn't available, IIRC. SpringAction's looking up of the corresponding Spring bean and setting = the ActionServlet can be significantly optimized. Actually, I consider = the current implementation unsafe: It first sets the ActionServlet on = the located Action (a shared instance) and then resets it to null again = (on each execution!). This is not at all thread-safe. If noone objects, I'll come up with an optimized implementation for the = standard Spring codebase within the next couple of days. We're about to = release Spring 1.0.1 next week, and I'd be willing to already include = this special Struts support in that release, if the stuff is as simple = as I assume (or in 1.0.2, if it takes longer). Juergen |
|
From: <jue...@we...> - 2004-04-05 18:49:35
|
Mike,
=20
The problem with resolving issues in our JIRA is still there. =
Furthermore, I've noticed that after a fix date has been set, the issue =
is still visible in the "unscheduled list": Funnily enough, the correct =
number of issues is given in the overview list, but the actual list of =
issues is outdated.
=20
As I'd like to resolve all fixed issues for the upcoming Spring release =
1.0.1, I'd really appreciate if "resolve issue" would work again :-)
=20
Juergen
=20
________________________________
Von: spr...@li... im Auftrag =
von j=FCrgen h=F6ller [werk3AT]
Gesendet: Di 30.03.2004 15:51
An: spr...@li...
Betreff: Re: [Springframework-developer] Where's "Resolve Issue" gone in =
our JIRA?
I still can't resolve issues (for example SPR-86), getting:
Form Errors:
Action 1 is invalid
Juergen
-----Original Message-----
From: spr...@li...
[mailto:spr...@li...]On Behalf
Of Mike Cannon-Brookes
Sent: Tuesday, March 30, 2004 3:06 AM
To: spr...@li...
Subject: Re: [Springframework-developer] Where's "Resolve Issue" gone in
our JIRA?
Apologies for this guys - we upgraded all the Open Source JIRA
instances as well as moving them to a new, much faster box (you can see
the speed increase!). The Spring workflow had some problems, but those
should all be ironed out now.
There are plenty of fun new things to play with in 2.6.1 and 2.6 - see
here for full details:
http://confluence.atlassian.com/display/JIRA/JIRA+2.6+Release+Notes
Any further problems, please let me know - you can always contact me
via IM at any time, details:
http://confluence.atlassian.com/display/~mi...@at...
Cheers,
Mike
--
ATLASSIAN - http://www.atlassian.com/
Confluence - the professional J2EE wiki - tried it yet?
http://www.atlassian.com/confluence/
On 27/03/2004, at 12:03 AM, Dmitriy Kopylenko wrote:
> Ahhhhhhhhh Juergen, I noticed something.... I looked at the bottom of
> the
> screen and I saw: "Enterprise Edition, Version: 2.6.1-#65" We've been
> running 2.5 before. Looks like they've upgraded to the latest version.
> Something must have changed.
>
> Mike, do you know what the problem might be? Also when I tried to
> assign any
> issue "to me", I got a stack trace screen.
>
> Regards,
> Dmitriy.
>
> -----Original Message-----
> From: spr...@li...
> [mailto:spr...@li...] On
> Behalf Of
> j=FCrgen h=F6ller [werk3AT]
> Sent: Friday, March 26, 2004 3:36 AM
> To: spr...@li...
> Subject: [Springframework-developer] Where's "Resolve Issue" gone in
> our
> JIRA?
>
>
> For some odd reason, "Resolve Issue" is not available in our JIRA. =
All
> administration options are available to me, so I wonder whether this
> is a
> problem with my account or with JIRA. It did work until Wednesday; at
> least
> I've not noted any problems.
>
> 2 of the 3 issues I've fixed for 1.0.1 are ready to be closed; I can't
> do
> this without a "resolve" command...
>
> Juergen
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by: IBM Linux Tutorials
> Free Linux tutorial presented by Daniel Robbins, President and CEO of
> GenToo
> technologies. Learn everything from fundamentals to system
> administration.http://ads.osdn.com/?ad_id=1470&alloc_id638&op=3Dclick
> _______________________________________________
> Springframework-developer mailing list
> Spr...@li...
> https://lists.sourceforge.net/lists/listinfo/springframework-developer
>
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by: IBM Linux Tutorials
> Free Linux tutorial presented by Daniel Robbins, President and CEO of
> GenToo technologies. Learn everything from fundamentals to system
> administration.http://ads.osdn.com/?ad_id=1470&alloc_id638&op=CCk
> _______________________________________________
> Springframework-developer mailing list
> Spr...@li...
> https://lists.sourceforge.net/lists/listinfo/springframework-developer
>
-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id638&op=3Dick
_______________________________________________
Springframework-developer mailing list
Spr...@li...
https://lists.sourceforge.net/lists/listinfo/springframework-developer
-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id638&op=3Dick
_______________________________________________
Springframework-developer mailing list
Spr...@li...
https://lists.sourceforge.net/lists/listinfo/springframework-developer
|
|
From: Colin S. <col...@ex...> - 2004-04-05 18:29:01
|
Of course LDAP is not transactional (unless wrapped with some sort of=20 transactional wrapper, which I've never seen)... Eduardo Issao Ito wrote: > > You can try using LDAP, it is well suited for hierarchical data, but=20 > it is not efficient when doing updates. > > Another alternative would be an XML database like dbXML or Xindice.=20 > It's much easier doing an XPath query than traversing a complex object=20 > hierarchy. > > > Cameron Braid wrote: > >> I am implementing a system that needs to store a fair bit of=20 >> hierarchical data. >> >> =20 >> >> For previous apps that have had this requirement, I stored the=20 >> hierarchy in relational databases, which worked sufficiently well. >> >> =20 >> >> BUT, this new application has a lot of operations that deal with deep=20 >> and wide directed trees (I don=92t know if that is the correct name fo= r=20 >> them, but I am sure you get the picture). >> >> =20 >> >> This would require a LOT of trips to the database to fetch the=20 >> children each time a transaction runs. >> >> =20 >> >> I could try and implement this using some complex caches but I though=20 >> I would see if anyone else has an alternate solution. >> >> =20 >> >> It will need to be able to participate in a distributed transaction,=20 >> since some data will be stored in a relational database, and some in=20 >> the hierarchy store. >> >> =20 >> >> I have thought of products like >> >> =20 >> >> * Prevayler http://www.prevayler.org <http://www.prevayler.org/> >> o seems a little amateur from the wiki >> o seems to support transactions >> o needs to keep all data in memory =96 which probably won=92= t work >> for this site >> o doesn=92t seem to support JTA >> * Berkeley DB Java Edition -=20 >> http://www.sleepycat.com/products/je.shtml >> o Supports transactions >> o doesn=92t seem to support JTA >> o may be too low level >> * JDBM http://jdbm.sourceforge.net/ >> o Simple transactional persistent hash map implementation >> >> =20 >> >> Does anyone have any suggestions on other =91preferably=92 open source= =20 >> products, or techniques to achieve wish to do. >> >> =20 >> >> I am also very new to XA and distributed transactions, so if anyone=20 >> has any hints on using XA with spring please show me where I can find=20 >> some resources. >> >> =20 >> >> Also - it is possible to implement XA support for systems like jdbm,=20 >> prevayler or Berkley db ? > |
|
From: James C. <jim...@do...> - 2004-04-05 18:12:15
|
Joe Celko's "SQL for Smarties" book introduced me to a "Nested Set Model of Trees in SQL". He has a couple typos in his stored procedures, but he effectively laid out how to store a tree structure in a relational database allowing for fast querying regardless of the hierarchy depth. Really cool stuff and it worked pretty well in practice. It is optimized for reading, not writing. It is basically a left-right tree stored with each node stored as a row in the table. The table is defined as: OBJ_ID INT, OBJ_NAME VARCHAR(50), LFT INT, RGT INT The Left and Right values are renumbered as each item is inserted into the tree. Here is an example of the Skywalker family tree would look like with each person added incrementally. Root object inserted: OBJ_ID OBJ_NAME LFT RGT ------ -------------------- --- --- 1001 SHMI SKYWALKER 1 2 Child inserted: OBJ_ID OBJ_NAME LFT RGT ------ -------------------- --- --- 1001 SHMI SKYWALKER 1 4 1002 ANAKIN SKYWALKER 2 3 Grandchild of root OBJ_ID OBJ_NAME LFT RGT ------ -------------------- --- --- 1001 SHMI SKYWALKER 1 6 1002 ANAKIN SKYWALKER 2 5 1003 LUKE SKYWALKER 3 4 Sibling of grandchild OBJ_ID OBJ_NAME LFT RGT ------ -------------------- --- --- 1001 SHMI SKYWALKER 1 8 1002 ANAKIN SKYWALKER 2 7 1003 LUKE SKYWALKER 3 4 1004 LEIA ORGANA 5 6 You can then execute some crazy-fast queries using LFT and RGT values to determine the relationship between nodes: Descendent of current node: ...where LFT between (CURNODE).LFT and (CURNODE).RGT All ancestors of current node: ...where CURNODE.LFT between LFT and RGT All leaf nodes: ...where RGT - LFT = 1 Etc. As you can see, it is optimized for reads. Inserts require updates to nearly every O/2 rows on average. There may be ways of picking the left and right values to minimize the cost of insert. We thought of allowing a gap of more than one between the numbers, kinda like allowing a block of children. But in the end, I opted for an in-memory representation of our entire hierarchy. Although our objects are still persisted, I recreate the hierarchy when the app starts up. -- jim _____ From: spr...@li... [mailto:spr...@li...] On Behalf Of Cameron Braid Sent: Monday, April 05, 2004 12:56 PM To: spr...@li... Subject: [Springframework-developer] OT : Anyone know of a solution for storing (and retrieving) hierarchical data efficiently? I am implementing a system that needs to store a fair bit of hierarchical data. For previous apps that have had this requirement, I stored the hierarchy in relational databases, which worked sufficiently well. BUT, this new application has a lot of operations that deal with deep and wide directed trees (I don't know if that is the correct name for them, but I am sure you get the picture). This would require a LOT of trips to the database to fetch the children each time a transaction runs. I could try and implement this using some complex caches but I though I would see if anyone else has an alternate solution. It will need to be able to participate in a distributed transaction, since some data will be stored in a relational database, and some in the hierarchy store. I have thought of products like * Prevayler http://www.prevayler.org <http://www.prevayler.org/> * seems a little amateur from the wiki * seems to support transactions * needs to keep all data in memory - which probably won't work for this site * doesn't seem to support JTA * Berkeley DB Java Edition - http://www.sleepycat.com/products/je.shtml * Supports transactions * doesn't seem to support JTA * may be too low level * JDBM http://jdbm.sourceforge.net/ * Simple transactional persistent hash map implementation Does anyone have any suggestions on other 'preferably' open source products, or techniques to achieve wish to do. I am also very new to XA and distributed transactions, so if anyone has any hints on using XA with spring please show me where I can find some resources. Also - it is possible to implement XA support for systems like jdbm, prevayler or Berkley db ? Cameron. |
|
From: Eduardo I. I. <zi...@su...> - 2004-04-05 18:12:10
|
You can try using LDAP, it is well suited for hierarchical data, but it is not efficient when doing updates. Another alternative would be an XML database like dbXML or Xindice. It's much easier doing an XPath query than traversing a complex object hierarchy. Cameron Braid wrote: > I am implementing a system that needs to store a fair bit of > hierarchical data. > > > > For previous apps that have had this requirement, I stored the hierarchy > in relational databases, which worked sufficiently well. > > > > BUT, this new application has a lot of operations that deal with deep > and wide directed trees (I don’t know if that is the correct name for > them, but I am sure you get the picture). > > > > This would require a LOT of trips to the database to fetch the children > each time a transaction runs. > > > > I could try and implement this using some complex caches but I though I > would see if anyone else has an alternate solution. > > > > It will need to be able to participate in a distributed transaction, > since some data will be stored in a relational database, and some in the > hierarchy store. > > > > I have thought of products like > > > > * Prevayler http://www.prevayler.org <http://www.prevayler.org/> > o seems a little amateur from the wiki > o seems to support transactions > o needs to keep all data in memory – which probably won’t work > for this site > o doesn’t seem to support JTA > * Berkeley DB Java Edition - http://www.sleepycat.com/products/je.shtml > o Supports transactions > o doesn’t seem to support JTA > o may be too low level > * JDBM http://jdbm.sourceforge.net/ > o Simple transactional persistent hash map implementation > > > > Does anyone have any suggestions on other ‘preferably’ open source > products, or techniques to achieve wish to do. > > > > I am also very new to XA and distributed transactions, so if anyone has > any hints on using XA with spring please show me where I can find some > resources. > > > > Also - it is possible to implement XA support for systems like jdbm, > prevayler or Berkley db ? > > > > Cameron. > |
|
From: <tho...@tr...> - 2004-04-05 18:10:57
|
I downloaded the new Sun Java System Application Server Platform Edition 8 (who names these things?) and did deploy my sample apps succesfully. I did run in to problems though, when I turned on transaction proxying using CGLIB. It's a security issue that I know was discussed earlier for some other environment. I think that there was some changes made to CGLIB to deal with this issue, but I don't recall the details. If this app server platform ever takes off, I'm sure we will encounter this problem more frequently and we should probably come up with either a fix or some instructions for how to avoid it. Thomas P.S. Here is the stack trace: [#|2004-04-05T13:55:20.924-0400|SEVERE|sun-appserver-pe8.0|org.springframework.web.context.ContextLoader|_ThreadID=19;|Context initialization failed java.lang.ExceptionInInitializerError at net.sf.cglib.core.KeyFactory$Generator.generateClass(KeyFactory.java:199) at net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:63) at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:190) at net.sf.cglib.core.KeyFactory$Generator.create(KeyFactory.java:177) at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:149) at net.sf.cglib.proxy.Enhancer.<clinit>(Enhancer.java:96) at org.springframework.aop.framework.Cglib2AopProxy.getProxy(Cglib2AopProxy.java:224) at org.springframework.aop.framework.Cglib2AopProxy.getProxy(Cglib2AopProxy.java:213) at org.springframework.aop.framework.ProxyFactory.getProxy(ProxyFactory.java:63) at org.springframework.transaction.interceptor.TransactionProxyFactoryBean.afterPropertiesSet(TransactionProxyFactoryBean.java:230) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:707) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:202) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:159) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:172) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:265) at org.springframework.web.context.support.XmlWebApplicationContext.refresh(XmlWebApplicationContext.java:125) at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:154) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:95) at org.springframework.web.context.ContextLoaderServlet.init(ContextLoaderServlet.java:80) at javax.servlet.GenericServlet.init(GenericServlet.java:261) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:289) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAsPrivileged(Subject.java:500) at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:311) at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:205) at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:158) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1044) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:892) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3852) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4154) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:873) at org.apache.catalina.core.ContainerBase.access$000(ContainerBase.java:171) at org.apache.catalina.core.ContainerBase$PrivilegedAddChild.run(ContainerBase.java:193) at java.security.AccessController.doPrivileged(Native Method) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:855) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:623) at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:947) at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:729) at com.sun.enterprise.server.WebModuleDeployEventListener.moduleDeployed(WebModuleDeployEventListener.java:147) at com.sun.enterprise.server.WebModuleDeployEventListener.moduleDeployed(WebModuleDeployEventListener.java:224) at com.sun.enterprise.admin.event.AdminEventMulticaster.invokeModuleDeployEventListener(AdminEventMulticaster.java:488) at com.sun.enterprise.admin.event.AdminEventMulticaster.handleModuleDeployEvent(AdminEventMulticaster.java:475) at com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:302) at com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:107) at com.sun.enterprise.admin.server.core.mbean.config.ManagedServerInstance.multicastEvent(ManagedServerInstance.java:3880) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sun.enterprise.admin.server.core.jmx.Introspector.invokeMethodOn(Introspector.java:181) at com.sun.enterprise.admin.server.core.mbean.config.AdminBase.invoke(AdminBase.java:86) at com.sun.enterprise.admin.server.core.mbean.config.ConfigMBeanBase.invoke(ConfigMBeanBase.java:680) at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:221) at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:228) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:823) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:792) at sun.reflect.GeneratedMethodAccessor64.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sun.enterprise.admin.util.proxy.ProxyClass.invoke(ProxyClass.java:54) at $Proxy1.invoke(Unknown Source) at com.sun.enterprise.admin.server.core.jmx.SunoneInterceptor.invoke(SunoneInterceptor.java:282) at com.sun.enterprise.deployment.phasing.DeploymentService.multicastEvent(DeploymentService.java:341) at com.sun.enterprise.deployment.phasing.ServerDeploymentTarget.sendStartEvent(ServerDeploymentTarget.java:284) at com.sun.enterprise.deployment.phasing.StartPhase.runPhase(StartPhase.java:115) at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPhase.java:74) at com.sun.enterprise.deployment.phasing.DeploymentService.executePhases(DeploymentService.java:233) at com.sun.enterprise.deployment.phasing.DeploymentService.deploy(DeploymentService.java:150) at com.sun.enterprise.admin.mbeans.ApplicationsConfigMBean.deploy(ApplicationsConfigMBean.java:275) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:287) at com.sun.enterprise.admin.config.BaseConfigMBean.invoke(BaseConfigMBean.java:280) at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:221) at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:228) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:823) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:792) at sun.reflect.GeneratedMethodAccessor64.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sun.enterprise.admin.util.proxy.ProxyClass.invoke(ProxyClass.java:54) at $Proxy1.invoke(Unknown Source) at com.sun.enterprise.admin.server.core.jmx.SunoneInterceptor.invoke(SunoneInterceptor.java:282) at com.sun.enterprise.tools.admingui.util.MBeanUtil.invoke(MBeanUtil.java:105) at com.sun.enterprise.tools.admingui.util.MBeanUtil.invoke(MBeanUtil.java:35) at com.sun.enterprise.tools.admingui.handlers.DeploymentHandler.deploy(DeploymentHandler.java:98) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sun.enterprise.tools.guiframework.view.DescriptorViewHelper.invokeHandler(DescriptorViewHelper.java:785) at com.sun.enterprise.tools.guiframework.view.DescriptorViewHelper.dispatchEvent(DescriptorViewHelper.java:731) at com.sun.enterprise.tools.guiframework.view.DescriptorViewHelper.execute(DescriptorViewHelper.java:250) at com.sun.enterprise.tools.guiframework.view.DescriptorViewBeanBase.execute(DescriptorViewBeanBase.java:187) at com.iplanet.jato.view.RequestHandlingViewBase.handleRequest(RequestHandlingViewBase.java:308) at com.iplanet.jato.view.ViewBeanBase.dispatchInvocation(ViewBeanBase.java:822) at com.iplanet.jato.view.ViewBeanBase.invokeRequestHandlerInternal(ViewBeanBase.java:760) at com.iplanet.jato.view.ViewBeanBase.invokeRequestHandlerInternal(ViewBeanBase.java:780) at com.iplanet.jato.view.ViewBeanBase.invokeRequestHandler(ViewBeanBase.java:590) at com.iplanet.jato.ApplicationServletBase.dispatchRequest(ApplicationServletBase.java:951) at com.iplanet.jato.ApplicationServletBase.processRequest(ApplicationServletBase.java:622) at com.sun.enterprise.tools.guiframework.view.BaseServlet.processRequest(BaseServlet.java:186) at com.iplanet.jato.ApplicationServletBase.doPost(ApplicationServletBase.java:480) at javax.servlet.http.HttpServlet.service(HttpServlet.java:768) at javax.servlet.http.HttpServlet.service(HttpServlet.java:861) at sun.reflect.GeneratedMethodAccessor51.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:289) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAsPrivileged(Subject.java:500) at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:311) at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:205) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:283) at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:102) at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:192) at java.security.AccessController.doPrivileged(Native Method) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:263) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:156) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:569) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:261) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:215) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:156) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:583) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:154) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:569) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:200) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:156) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:180) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:154) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:582) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:154) at com.sun.enterprise.webservice.EjbWebServiceValve.invoke(EjbWebServiceValve.java:134) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:154) at com.sun.enterprise.security.web.SingleSignOn.invoke(SingleSignOn.java:305) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:154) at com.sun.enterprise.web.VirtualServerValve.invoke(VirtualServerValve.java:209) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:154) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:569) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:161) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:156) at com.sun.enterprise.web.VirtualServerMappingValve.invoke(VirtualServerMappingValve.java:166) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:154) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:569) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:979) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:211) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:692) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:647) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:589) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:691) at java.lang.Thread.run(Thread.java:534) Caused by: java.security.AccessControlException: access denied (java.lang.RuntimePermission getProtectionDomain) at java.security.AccessControlContext.checkPermission(AccessControlContext.java:269) at java.security.AccessController.checkPermission(AccessController.java:401) at java.lang.SecurityManager.checkPermission(SecurityManager.java:524) at java.lang.Class.getProtectionDomain(Class.java:1384) at net.sf.cglib.core.ReflectUtils$1.run(ReflectUtils.java:79) at java.security.AccessController.doPrivileged(Native Method) at net.sf.cglib.core.ReflectUtils.<clinit>(ReflectUtils.java:75) ... 158 more |#] |
|
From: Cameron B. <ca...@da...> - 2004-04-05 16:57:13
|
I am implementing a system that needs to store a fair bit of hierarchical data. For previous apps that have had this requirement, I stored the hierarchy in relational databases, which worked sufficiently well. BUT, this new application has a lot of operations that deal with deep and wide directed trees (I don't know if that is the correct name for them, but I am sure you get the picture). This would require a LOT of trips to the database to fetch the children each time a transaction runs. I could try and implement this using some complex caches but I though I would see if anyone else has an alternate solution. It will need to be able to participate in a distributed transaction, since some data will be stored in a relational database, and some in the hierarchy store. I have thought of products like * Prevayler http://www.prevayler.org <http://www.prevayler.org/> * seems a little amateur from the wiki * seems to support transactions * needs to keep all data in memory - which probably won't work for this site * doesn't seem to support JTA * Berkeley DB Java Edition - http://www.sleepycat.com/products/je.shtml * Supports transactions * doesn't seem to support JTA * may be too low level * JDBM http://jdbm.sourceforge.net/ * Simple transactional persistent hash map implementation Does anyone have any suggestions on other 'preferably' open source products, or techniques to achieve wish to do. I am also very new to XA and distributed transactions, so if anyone has any hints on using XA with spring please show me where I can find some resources. Also - it is possible to implement XA support for systems like jdbm, prevayler or Berkley db ? Cameron. |
|
From: Colin S. <col...@ex...> - 2004-04-05 16:04:15
|
I'm using the plugin with no problems with Eclipse 3.0M8, but I think it's actually also supposed to work with 2.1.x. Do you know if WSAD has been updated to be based off Eclipse 2.1? It used to be based off Eclipse 2.0, which might be the problem... Keith Donald wrote: >This is in regard to our eclipse plugin... Greg is having trouble getting it >to run under Websphere's Studio (WSAD) Enterprise edition (which is based on >Eclipse.) > >On a related note if you guys have any recommendations for sound Eclipse >plugins that support J2EE development, let me know and I can pass it on to >him. > >Thanks! >Keith > > >-----Original Message----- >From: Groves, Greg [mailto:gre...@FL...] >Sent: Monday, April 05, 2004 11:08 AM >To: 'Keith Donald' >Subject: RE: Spring with Eclipse > > >Thanks for the prompt reply, Keith. > >Let Torsten know I'll be happy to help him if he needs a test subject for >getting SpringUI to work under WSAD. I'm actually using the Enterprise >version, which has more options for connecting to mainframes... but probably >more opportunities for conflicts too. I'm getting "An error has occurred >activating decorator Spring Project Decorator" at start-up. > >Thanks again, and I'll be trying out Spring. > >Greg > >-----Original Message----- >From: Keith Donald [mailto:kd...@cs...] >Sent: Monday, April 05, 2004 10:55 AM >To: 'Groves, Greg' >Subject: RE: Spring with Eclipse > > >Greg, > >Glad you enjoyed the presentation! > >As far as xml products, I've seen good things mentioned about "XmlBuddy" >(http://xmlbuddy.com/) and "XmlMind" (http://www.xmlmind.com/xmleditor/) on >the lists, but I've never used them personally. > >We use "straight Eclipse" here, too. We aren't too heavy on any custom J2EE >plugins, we generally just work with the JDT and live by the awesome >refactoring support (and of course we use the Ant, CVS, and JUnit plugins.) > >I'll pass the info along to Torsten that you're unable to get the Spring >eclipse plugin to work in WSAD. It may be because the Spring UI plugin only >supports the later 3.0 release path, but I am only speculating at this >point. > >I would highly recommend Spring's MVC framework over Struts. In general >it's more flexible and is easier to write cohesive, reusable classes that >aren't dependent on the framework or any servlet API. I just picked up this >insightful post from an existing user on the advantages of Spring MVC >compared to Struts so I thought I'd attach it: > > >-----Original Message----- >From: spr...@li... >[mailto:spr...@li...] On Behalf Of >Daniel Miller >Sent: Monday, April 05, 2004 9:17 AM >To: spr...@li... >Subject: RE: [Springframework-user] Controller flow and controller hierarchy >issues - Bayesian Filter detected spam > > >Tomasz, > >I have used Spring MVC and can testify that it is much cleaner than Struts >MVC. Instead of having a monolithic "execute" method, Spring controllers >have an embedded event model that encourages you to place your logic into >logical (no pun intended) places, which has an end result of producing more >predicable, extensible, and understandable control flow. Many pieces of >logic that would be placed in separate Struts controllers are delegated to >reusable classes or extensible methods (e.g. command creation, data binding, >and validation). I have never found a case of needing more than a single >controller to handle a request with Spring MVC, while with Struts I was >often cascading controllers in order to separate code into logical tasks. >The most useful part of Spring's MVC layer is the automatic data binding. It >allows controllers to be controllers, instead of data binders. I found that >most of my Struts controllers ended up being complicated data binders with a >sprinkling of control logic instead of flow controllers like they should be. >If custom binding logic is needed, a custom binder class can always be >plugged into the createBinder method. > >Initially I struggled with the lavish use of final methods in the base >controller classes provided with Spring (most of which are necessary by the >way). I too thought I would have to rewrite a few of those classes. However, >I have found after detailed inspection of the method invocation order, that >there is much more flexibility than first meets the eye. > >** Better documentation is certainly a must for the Spring MVC framework. >The most important part (in my opinion) is a detailed list of all methods >that can be overridden and the order in which they are called (for each >separate controller, not just for). I have found myself building flow charts >first by inspecting the JavaDoc and then by tracing the actual flow of the >code when the JavaDoc is not detailed enough. ** > >In closing, I would encourage you to avoid hierarchical controllers. If you >find yourself needing them your workflow is probably not clearly defined or >needs to be refactored. > >Daniel Miller > > >-----Original Message----- >From: Groves, Greg [mailto:gre...@FL...] >Sent: Monday, April 05, 2004 9:41 AM >To: 'kd...@cs...' >Subject: Spring with Eclipse > > >Hi Keith, > >I very much enjoyed your presentation of Spring at OJUG last month. I was >one of those who stayed until the not-so-bitter end. > >It was very timely because we are in the midst of re-evaluating all things >Java, and one thing I have been pushing for is that we need to standardize >on a framework. Struts is obviously a contender, as are Turbine and JSF. >But I was very impressed with Spring, and am looking to try it on a test >project. > >One other thing we are looking at is tools. We currently use IBM's WebSphere >Studio Application Developer (which is Eclipse-based). But it is very >expensive, and as our pool of Java developers grows it becomes >cost-prohibitive. So I'm trying out 'straight' Eclipse. (Also, SpringUI >doesn't work with WSAD for some reason.) > >So I was wondering if you had any recommendations for Eclipse plug-ins that >work well with Spring and SpringUI. I'm finding lots of J2EE plug-ins and >wonder if you've tried them. Another thing we need is helpers for XML + >XSLT; most of our data lives on the IBM mainframe and is delivered to our >Web apps as XML. > >If you've got ideas for plug-ins that work well together with Spring I'd >really appreciate it. Thanks! > >The information contained in this message may be privileged and/or >confidential and protected from disclosure. If the reader of this message >is not the intended recipient or agent responsible for delivering this >message to the intended recipient, you are hereby notified that any >dissemination, distribution or copying of this communication is strictly >prohibited. If you have received this communication in error, please notify >the sender immediately by replying to this message and deleting the material >from any computer. > > > >------------------------------------------------------- >This SF.Net email is sponsored by: IBM Linux Tutorials >Free Linux tutorial presented by Daniel Robbins, President and CEO of >GenToo technologies. Learn everything from fundamentals to system >administration.http://ads.osdn.com/?ad_id70&alloc_id638&op=click >_______________________________________________ >Springframework-developer mailing list >Spr...@li... >https://lists.sourceforge.net/lists/listinfo/springframework-developer > > |
|
From: Keith D. <kd...@cs...> - 2004-04-05 15:27:28
|
This is in regard to our eclipse plugin... Greg is having trouble = getting it to run under Websphere's Studio (WSAD) Enterprise edition (which is = based on Eclipse.) On a related note if you guys have any recommendations for sound Eclipse plugins that support J2EE development, let me know and I can pass it on = to him. Thanks! Keith -----Original Message----- From: Groves, Greg [mailto:gre...@FL...]=20 Sent: Monday, April 05, 2004 11:08 AM To: 'Keith Donald' Subject: RE: Spring with Eclipse Thanks for the prompt reply, Keith. =20 Let Torsten know I'll be happy to help him if he needs a test subject = for getting SpringUI to work under WSAD. I'm actually using the Enterprise version, which has more options for connecting to mainframes... but = probably more opportunities for conflicts too. I'm getting "An error has occurred activating decorator Spring Project Decorator" at start-up. Thanks again, and I'll be trying out Spring. Greg -----Original Message----- From: Keith Donald [mailto:kd...@cs...] Sent: Monday, April 05, 2004 10:55 AM To: 'Groves, Greg' Subject: RE: Spring with Eclipse Greg, Glad you enjoyed the presentation!=20 As far as xml products, I've seen good things mentioned about "XmlBuddy" (http://xmlbuddy.com/) and "XmlMind" (http://www.xmlmind.com/xmleditor/) = on the lists, but I've never used them personally. We use "straight Eclipse" here, too. We aren't too heavy on any custom = J2EE plugins, we generally just work with the JDT and live by the awesome refactoring support (and of course we use the Ant, CVS, and JUnit = plugins.) I'll pass the info along to Torsten that you're unable to get the Spring eclipse plugin to work in WSAD. It may be because the Spring UI plugin = only supports the later 3.0 release path, but I am only speculating at this point. I would highly recommend Spring's MVC framework over Struts. In general it's more flexible and is easier to write cohesive, reusable classes = that aren't dependent on the framework or any servlet API. I just picked up = this insightful post from an existing user on the advantages of Spring MVC compared to Struts so I thought I'd attach it: -----Original Message----- From: spr...@li... [mailto:spr...@li...] On Behalf Of Daniel Miller Sent: Monday, April 05, 2004 9:17 AM To: spr...@li... Subject: RE: [Springframework-user] Controller flow and controller = hierarchy issues - Bayesian Filter detected spam Tomasz, I have used Spring MVC and can testify that it is much cleaner than = Struts MVC. Instead of having a monolithic "execute" method, Spring controllers have an embedded event model that encourages you to place your logic = into logical (no pun intended) places, which has an end result of producing = more predicable, extensible, and understandable control flow. Many pieces of logic that would be placed in separate Struts controllers are delegated = to reusable classes or extensible methods (e.g. command creation, data = binding, and validation). I have never found a case of needing more than a single controller to handle a request with Spring MVC, while with Struts I was often cascading controllers in order to separate code into logical = tasks. The most useful part of Spring's MVC layer is the automatic data = binding. It allows controllers to be controllers, instead of data binders. I found = that most of my Struts controllers ended up being complicated data binders = with a sprinkling of control logic instead of flow controllers like they should = be. If custom binding logic is needed, a custom binder class can always be plugged into the createBinder method. Initially I struggled with the lavish use of final methods in the base controller classes provided with Spring (most of which are necessary by = the way). I too thought I would have to rewrite a few of those classes. = However, I have found after detailed inspection of the method invocation order, = that there is much more flexibility than first meets the eye. ** Better documentation is certainly a must for the Spring MVC = framework. The most important part (in my opinion) is a detailed list of all = methods that can be overridden and the order in which they are called (for each separate controller, not just for). I have found myself building flow = charts first by inspecting the JavaDoc and then by tracing the actual flow of = the code when the JavaDoc is not detailed enough. ** In closing, I would encourage you to avoid hierarchical controllers. If = you find yourself needing them your workflow is probably not clearly defined = or needs to be refactored. Daniel Miller -----Original Message----- From: Groves, Greg [mailto:gre...@FL...]=20 Sent: Monday, April 05, 2004 9:41 AM To: 'kd...@cs...' Subject: Spring with Eclipse Hi Keith, I very much enjoyed your presentation of Spring at OJUG last month. I = was one of those who stayed until the not-so-bitter end. It was very timely because we are in the midst of re-evaluating all = things Java, and one thing I have been pushing for is that we need to = standardize on a framework. Struts is obviously a contender, as are Turbine and = JSF. But I was very impressed with Spring, and am looking to try it on a test project. One other thing we are looking at is tools. We currently use IBM's = WebSphere Studio Application Developer (which is Eclipse-based). But it is very expensive, and as our pool of Java developers grows it becomes cost-prohibitive. So I'm trying out 'straight' Eclipse. (Also, SpringUI doesn't work with WSAD for some reason.) So I was wondering if you had any recommendations for Eclipse plug-ins = that work well with Spring and SpringUI. I'm finding lots of J2EE plug-ins = and wonder if you've tried them. Another thing we need is helpers for XML + XSLT; most of our data lives on the IBM mainframe and is delivered to = our Web apps as XML. If you've got ideas for plug-ins that work well together with Spring I'd really appreciate it. Thanks! The information contained in this message may be privileged and/or confidential and protected from disclosure. If the reader of this = message is not the intended recipient or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please = notify the sender immediately by replying to this message and deleting the = material from any computer.=20 |
|
From: Jean-Baptiste B. <jb...@br...> - 2004-04-05 14:31:42
|
Forget the last point :-)
The answer is AbstractPlatformTransactionManager.
I was thinking about XXXDaoSupport like HibernateDaoSupport
________________________________________________
Jean-Baptiste BRIAUD SYSDEO
www.sysdeo.com
software engineer www.eclipsetotale.com
> -----Message d'origine-----
> De=A0: Jean-Baptiste BRIAUD [mailto:jb...@br...]
> Envoy=E9=A0: lundi 5 avril 2004 16:26
> =C0=A0: 'spr...@li...'
> Objet=A0: Hibernate and JDO
>=20
> Hello Spring framework makers !
>=20
> I heard about Hibernate "module" in Spring framework.
> I found an ORM package with a Hibernate package in it.
>=20
> Where can I find info of the design for the classes
> in ...orm.hibernate package ?
>=20
> I found an orm.jdo package too.
>=20
> Some classes are present in both packages like XXXTransactionManager :
> JdoTransactionManager and HibernateTransactionManager.
> But some are not present in both packages.
>=20
> Anyone can explain me the design around that ?
> (or http pointer ...)
>=20
>=20
> The HibernateTransactionManager implements "only" InitializingBean.
> I was waiting for a super interface common to jdo and hibernate.
>=20
> Thanks a lot !
>=20
> ________________________________________________
> Jean-Baptiste BRIAUD SYSDEO
> www.sysdeo.com
> software engineer www.eclipsetotale.com
|
|
From: Jean-Baptiste B. <jb...@br...> - 2004-04-05 14:29:30
|
Hello Spring framework makers !
I heard about Hibernate "module" in Spring framework.
I found an ORM package with a Hibernate package in it.
Where can I find info of the design for the classes
in ...orm.hibernate package ?
I found an orm.jdo package too.
Some classes are present in both packages like XXXTransactionManager :
JdoTransactionManager and HibernateTransactionManager.
But some are not present in both packages.
Anyone can explain me the design around that ?
(or http pointer ...)
The HibernateTransactionManager implements "only" InitializingBean.
I was waiting for a super interface common to jdo and hibernate.
Thanks a lot !
________________________________________________
Jean-Baptiste BRIAUD SYSDEO
www.sysdeo.com
software engineer www.eclipsetotale.com
|
|
From: Hunter K. <re...@ei...> - 2004-04-05 09:58:19
|
[ Sorry if this is a repost. I sent this on Friday, but didn't receive a
copy, and since there isn't an archive of the list yet, I wasn't able
to check if it was delivered. This was already sent to the user list, it was
suggested I send it on to the developers list.]
There is some strange behaviour with CGLIB proxied objects and instance
fields. Sometime it returns the field of the CGLIB proxy itself, and
sometimes of the target object, which causes some very unexpected behaviour,
to say the least.
This is similar to the thread of yesterday, but it petered out somewhat
inconclusively. I've boiled it down to a pretty simple sample.
The results are as follows (skipping the initial spring setup stuff):
INFO: Creating implicit proxy for bean 'sampleCommand' with 1 common
interceptors and 0 specific interceptors
02-Apr-2004 10:45:22
org.springframework.transaction.support.AbstractPlatformTransactionManager
commit
INFO: Initiating transaction commit
returned result: <no result>
02-Apr-2004 10:45:22
org.springframework.transaction.support.AbstractPlatformTransactionManager
commit
INFO: Initiating transaction commit
method call result: RealCommand result: 3
direct method call result: RealCommand result: 3
Here's the java class and the config file. The only thing that anyone should
need to change is the properties of the data source...
-- SampleCommand.java
package sample;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class SampleCommand
{
public static final ApplicationContext appContext =
initializeAppContext();
private static ApplicationContext initializeAppContext()
{
ClassPathXmlApplicationContext ctx = new
ClassPathXmlApplicationContext("sampleContext.xml");
return ctx;
}
String _result = "<no result>";
public final String execute()
{
executeCommand();
return _result;
}
public final String executeUsingMethod()
{
executeCommand();
return getResult();
}
public String getResult()
{
return _result;
}
int _foo;
public void setFoo(int foo)
{
_foo = foo;
}
public void executeCommand()
{
_result = "RealCommand result: "+_foo;
}
public static void main(String[] args)
{
SampleCommand c = (SampleCommand) appContext.getBean("sampleCommand");
c.setFoo(3);
System.out.println("returned result: "+c.execute());
System.out.println("method call result: "+c.executeUsingMethod());
System.out.println("direct method call result: "+c.getResult());
}
}
-- sampleContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="sampleCommand" class="sample.SampleCommand"/>
<!-- Transaction Interceptor set up to do PROPAGATION_REQUIRED on execute
methods for Command objects-->
<bean id="executeMethodTxnAS"
class="org.springframework.transaction.interceptor.NameMatchTransactionAttributeSource">
<property name="properties">
<props>
<prop key="execute*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<bean id="commandExecuteMethodTxnInterceptor"
class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager"><ref
local="transactionManager"/></property>
<property name="transactionAttributeSource">
<!-- I think this uses the spiffy TransactionAttributeSourceEditor,
obviating the need for a seperate
TransactionAttributeSource definition in simple cases -->
<!--
value>com.newbay.mixxe.command.Command.execute=PROPAGATION_REQUIRED</value
-->
<ref local="executeMethodTxnAS"/>
</property>
</bean>
<!-- One BeanNameAutoProxyCreator handles all beans where we want
transactions (ie Command.execute) -->
<bean id="autoProxyCreator"
class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="interceptorNames">
<list><idref local="commandExecuteMethodTxnInterceptor"/></list>
</property>
<property name="proxyTargetClass"><value>true</value></property>
<!-- property name="exposeProxy"><value>true</value></property -->
<property name="beanNames">
<list><value>*Command</value></list>
</property>
</bean>
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource"><ref local="dataSource"/></property>
</bean>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property
name="driverClassName"><value>org.postgresql.Driver</value></property>
<property
name="url"><value>jdbc:postgresql://localhost/mixxe</value></property>
<property name="username"><value>mixxe</value></property>
<property name="password"><value>mixxe</value></property>
</bean>
</beans>
|
|
From: <rod...@in...> - 2004-04-05 08:21:28
|
Oliver Introductions in Spring AOP should work fine for this. I don't there's any need to use CGLIB independently. Introductions in Spring work with dynamic proxies also. Regards, Rod |
|
From: <jue...@we...> - 2004-04-05 07:56:14
|
Actually, I still prefer "AbstractDynamicTargetSource": Target beans = being defined as prototypes is a requirement for any meaningful dynamic = target source strategy (no matter if one-shot, ThreadLocal or pooled), = therefore I consider it fine that AbstractDynamicTargetSource implicitly = works with prototype target beans. But just PrototypeTargetSource = delivers actual one-instance-per-method-invocation semantics, rather = than pooling instances or the like. =20 Juergen =20 ________________________________ Von: spr...@li... im Auftrag = von j=FCrgen h=F6ller [werk3AT] Gesendet: So 04.04.2004 16:25 An: spr...@li... Betreff: Re: [Springframework-developer] Preparing for 1.0.1 That's what I meant with the different meaning of the term "prototype": = AbstractPrototypeTargetSource just assumes that the bean that it = references is a prototype, allowing to expose targets with ThreadLocal = or pooling semantics. On the other hand, PrototypeTargetSource actually = exposes a "prototype" target, i.e. a new target object on each method = invocation (analogous to the term "prototype" used in bean definitions). I agree that the term "prototype" isn't wrong in = AbstractPrototypeTargetSource, but it's used with somewhat different = meaning than in PrototypeTargetSource. To avoid confusion for people = that dig into Spring's javadoc or even implementation, we should use = different terms here, i.e. use the term "prototype" for a more specific = meaning (preferably the one analogous to bean definitions). I'm open for other suggestions, of course! Juergen ________________________________ Von: spr...@li... im Auftrag = von Rod Johnson Gesendet: So 04.04.2004 16:08 An: spr...@li... Betreff: Re: [Springframework-developer] Preparing for 1.0.1 I guess AbstractDynamicTargetSource is an improvement. I agree the = naming pattern isn't great, but the abstract base class _does_ work with = prototype definitions, so having Prototype in its name does make sense. It's not a generic "Dynamic" TargetSource because it works with bean names and getBeans() assuming a prototype. Any other suggestions? If this is renamed, I'd rather that it was undebatably right. R ----- Original Message ----- From: "j=FCrgen h=F6ller [werk3AT]" <jue...@we...> To: <spr...@li...> Sent: Saturday, April 03, 2004 6:46 PM Subject: Re: [Springframework-developer] Preparing for 1.0.1 A minor naming issue that I've noticed: We have an AbstractPrototypeTargetSource, which serves as base class for PrototypeTargetSource, ThreadLocalTargetSource and AbstractPoolingTargetSource. We don't have the AbstractXxx/Xxx naming pattern anywhere else in the framework. (I've actually removed a similar naming pattern in the AbstractAutoProxyCreator area before 1.0 final.) Furthermore, "AbstractPrototypeTargetSource" is actually a bit = misleading, as we're using a broader meaning of the word prototype here than found = in bean definitions. "PrototypeTargetSource" matches the bean definition = term exactly, but the base class is more generic: So what about renaming it = to "AbstractDynamicTargetSource" or the like, indicating that it serves as = base class for all non-singleton TargetSources? Like the AopUtils move, this should be fine in terms of compatibility = level, as the base class is not part of the public API but rather an internal implementation detail. PrototypeTargetSource and co will still be fully backward compatible after that change, and I doubt that anyone has implemented custom TargetSources yet (and even if, it's trivial to = adapt). Juergen ________________________________ Von: spr...@li... im Auftrag = von Rod Johnson Gesendet: Fr 02.04.2004 16:53 An: spr...@li... Betreff: Re: [Springframework-developer] Preparing for 1.0.1 I suggest that we sit on this code for at least a week until we release = it, so we can catch anything else. How about we target Monday week for = release? A 1.0.1 release should be driven by stability, not date, so we should = see if any more issues come out of the woodwork. ----- Original Message ----- From: "j=FCrgen h=F6ller [werk3AT]" <jue...@we...> To: <spr...@li...> Sent: Friday, April 02, 2004 10:57 AM Subject: [Springframework-developer] Preparing for 1.0.1 Hi everybody, From my point of view, the code is ready for release 1.0.1. There were a couple of bug fixes and minor enhancements since 1.0 final. The most important fix is proper Hibernate/JTA resource management when flush = fails. Enhancements include the introduction of the MessageCodesResolver = interface in the validation package, and a more efficient internal implementation = of AbstractMessageSource. See the changelog for details. Please give the current CVS snapshot a try. There shouldn't be any = issues, as changes are minor and just affect specific functionality. I'd like to target mid next week for the release, i.e. two weeks after 1.0 final. In = the meantime, the only thing I plan to address is the lack of remoting = coverage in the reference docs. If anyone feels the need to improve other parts = of the docs, please do so till mid next week! Juergen ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id638&op=3Dick _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id638&op=3Dick _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id638&op=3Dick _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id638&op=3Dick _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id638&op=3Dick _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer |
|
From: Oliver H. <Oli...@ou...> - 2004-04-05 06:17:27
|
Hello,
I'm curios if anyone knows of a system that can take an interface or
abstract class and "fill-in" the missing methods/properties to create a
concrete class.=20
So given this interface:
interface BeanInterface {
/** =20
* @PropertyDescriptorAttribute(
* displayName=3D"The string property",=20
* shortDescription=3D"This is a string property")
*
*/
public String getStringProperty();
public void setStringProperty(String stringProp);
}
I could write something like this:
BeanInterface bean =3D (BeanInterface)
beanCreator.getConcreteClass(BeanInterface.class).getInstance();
This simple "bean from interface creator" concept combined with
meta-data leads to all kinds of cool possibilities. This idea started as
a system to auto create BeanInfo from meta-data but then I thought why
stop there?
I guess what I'm thinking of is an Aspect though not of the conventional
kind. It could be done in the AOP framework by introducing the
interface/abstract class to java.lang.Object and then auto creating
implementations for all the abstract methods in the
IntroductionInterceptor (or am I looking at this for the wrong
direction?).=20
I've started to write a very simple implementation of this using CGLIB
rather than the AOP framework but if someone's already doing something
along these lines I'd love to know about it.=20
Any comments/advice would be greatly appreciated.
Thanks
Oliver Hutchison
|
|
From: Thomas R. <tho...@tr...> - 2004-04-04 20:34:59
|
I have bee experimenting a bit with Jython. I have not used it for a
while, so I'm a bit rusty, but I did load an application context and
used a data source been that was defined in it.
I think that the different types of bean factories are going to have
different feature sets - property files are less feature rich than the
xml files. With jython and groovy, we will have similar issues where
some features just does not fit naturally.
Here is my context (applicationContext.py):
from org.springframework.jdbc.datasource import DriverManagerDataSource
from org.springframework.jdbc.core import JdbcTemplate
dataSource = DriverManagerDataSource()
dataSource.driverClassName="org.hsqldb.jdbcDriver"
dataSource.url="jdbc:hsqldb:hsql://localhost"
dataSource.username="sa"
dataSource.password=""
db = JdbcTemplate(dataSource)
Here is my code (LoadPyContext.java:
import java.util.List;
import org.python.core.PySystemState;
import org.python.util.PythonInterpreter;
import org.springframework.jdbc.core.JdbcTemplate;
public class LoadPyContext {
public static void main(String[] args) {
System.out.println("Start");
PySystemState.initialize();
PythonInterpreter pyInterp = new PythonInterpreter();
pyInterp.execfile("applicationContext.py");
JdbcTemplate db = (JdbcTemplate) pyInterp.get("db",
JdbcTemplate.class);
List l = db.queryForList("select brand, price from beer");
System.out.println(l);
}
}
I guess the next step is to actually create a PythonBeanFactory.
Thomas
Alef Arendsen wrote:
>Err,
>
>Been able to get a beanfactory up-and-running, however, not in a way as
>elegant as I wanted it to be, but that's something that's probably going to
>take some more time and thinking. It's something like this, and I don't like
>it ;-)
>
>test = new BeanDef (age:8,name:'susan')
>test.singleton = true
>test.dependencyCheck = PRIMITIVES
>
>est = new BeanDef (age:10)
>est.name='jim'
>est.spouse=test
>est.singleton = false
>
>I'm not entirely sure how to go about the dependencies and properties of a
>bean versus the behavioral stuff (singleton, dependency checking, etcetera).
>For sure we need some extra stuff here (i.e. some kind of wrapper around the
>BeanDefinition class--the BeanDef class in the script above), I don't think
>dealing with MutablePropertyValue objects in a Groovy script directly is the
>way to go. But maybe you noticed the problem in the script above already:
>you can't have dependencies named 'singleton' or 'dependencyCheck' here. So
>maybe including some kind of metadata object might be an option.
>
>By the way, from my point of view, there's a difference between reading in
>and modifying a applicationcontext and its beandefinition and actually
>approaching/using it at runtime. Currently I'm only thinking about the
>former... Using it from Groovy scripts however could be quite something as
>well!
>
>Regards,
>Alef
>
>
>
>
>
>
>>-----Original Message-----
>>From: spr...@li...
>>[mailto:spr...@li...] On Behalf
>>Of Darren Davison
>>Sent: Saturday, April 03, 2004 1:01 PM
>>To: spr...@li...
>>Subject: [Springframework-developer] Groovy / Jython (was: Road map)
>>
>>On Saturday 03 April 2004 09:47, Alef Arendsen wrote:
>>
>>
>>
>>>It would be nice to have something in the sandbox indeed. I'm currently
>>>experimenting with a GroovyBeanDefinitionReader and it seems it's not
>>>going to be all that tough to get it running!
>>>
>>>
>>snap!
>>
>>I started looking at something similar in both Groovy and Jython (partly
>>to
>>see which of those two was 'best'). Thought it may be very useful for
>>writing tests or certain deployment scripts.
>>
>>How far have you got with it?
>>
>>--
>>
>>Darren Davison
>>Public Key: http://www.davison.uk.net/key.jsp
>>
>>
>>-------------------------------------------------------
>>This SF.Net email is sponsored by: IBM Linux Tutorials
>>Free Linux tutorial presented by Daniel Robbins, President and CEO of
>>GenToo technologies. Learn everything from fundamentals to system
>>administration.http://ads.osdn.com/?ad_id70&alloc_id638&op=click
>>_______________________________________________
>>Springframework-developer mailing list
>>Spr...@li...
>>https://lists.sourceforge.net/lists/listinfo/springframework-developer
>>
>>
>
>
>
>-------------------------------------------------------
>This SF.Net email is sponsored by: IBM Linux Tutorials
>Free Linux tutorial presented by Daniel Robbins, President and CEO of
>GenToo technologies. Learn everything from fundamentals to system
>administration.http://ads.osdn.com/?ad_id70&alloc_id638&op=click
>_______________________________________________
>Springframework-developer mailing list
>Spr...@li...
>https://lists.sourceforge.net/lists/listinfo/springframework-developer
>
>
>
>
>
|
|
From: <jue...@we...> - 2004-04-04 16:35:34
|
On the occasion: Shouldn't ProxyFactoryBean's "newPrototypeInstance" = method be synchronized? It refreshes advisor chain and target which are = kept in ProxyFactoryBean's instance variables: If multiple prototypes = are created in parallel, this needs to be synchronized because each = prototype proxy might have its own prototype interceptors and/or target. =20 Juergen =20 ________________________________ Von: SourceForge.net [mailto:no...@so...] Gesendet: So 04.04.2004 18:21 An: no...@so... Betreff: [springframework - Help] RE: Transactional Prototypes... Read and respond to this message at: https://sourceforge.net/forum/message.php?msg_id=3D2506862 By: jhoeller So what you want to achieve is to have prototype proxies, each = associated with a prototype target - but each proxy with a fixed target? I'm afraid = you'll have to resort to the generic ProxyFactoryBean for this, turning its = "singleton" flag to false and putting the name of your prototype target at the end = of the "interceptorNames" list: <bean id=3D"exampleBusinessObject" class=3D"org.springframework.aop.framework.ProxyFactoryBean"> <property name=3D"singleton"><value>false</value></property> </bean> <property = name=3D"proxyInterfaces"><value>example.ExampleBusinessInterface</value> </property> <property = name=3D"interceptorNames"><value>exampleTransactionInterceptor,exampleBu sinessObjectTarget</value></property> Juergen ______________________________________________________________________ You are receiving this email because you elected to monitor this forum. To stop monitoring this forum, login to SourceForge.net and visit: https://sourceforge.net/forum/unmonitor.php?forum_id=3D250340 |
|
From: <jue...@we...> - 2004-04-04 14:27:18
|
That's what I meant with the different meaning of the term "prototype": = AbstractPrototypeTargetSource just assumes that the bean that it = references is a prototype, allowing to expose targets with ThreadLocal = or pooling semantics. On the other hand, PrototypeTargetSource actually = exposes a "prototype" target, i.e. a new target object on each method = invocation (analogous to the term "prototype" used in bean definitions). =20 I agree that the term "prototype" isn't wrong in = AbstractPrototypeTargetSource, but it's used with somewhat different = meaning than in PrototypeTargetSource. To avoid confusion for people = that dig into Spring's javadoc or even implementation, we should use = different terms here, i.e. use the term "prototype" for a more specific = meaning (preferably the one analogous to bean definitions). =20 I'm open for other suggestions, of course! =20 Juergen =20 ________________________________ Von: spr...@li... im Auftrag = von Rod Johnson Gesendet: So 04.04.2004 16:08 An: spr...@li... Betreff: Re: [Springframework-developer] Preparing for 1.0.1 I guess AbstractDynamicTargetSource is an improvement. I agree the = naming pattern isn't great, but the abstract base class _does_ work with = prototype definitions, so having Prototype in its name does make sense. It's not a generic "Dynamic" TargetSource because it works with bean names and getBeans() assuming a prototype. Any other suggestions? If this is renamed, I'd rather that it was undebatably right. R ----- Original Message ----- From: "j=FCrgen h=F6ller [werk3AT]" <jue...@we...> To: <spr...@li...> Sent: Saturday, April 03, 2004 6:46 PM Subject: Re: [Springframework-developer] Preparing for 1.0.1 A minor naming issue that I've noticed: We have an AbstractPrototypeTargetSource, which serves as base class for PrototypeTargetSource, ThreadLocalTargetSource and AbstractPoolingTargetSource. We don't have the AbstractXxx/Xxx naming pattern anywhere else in the framework. (I've actually removed a similar naming pattern in the AbstractAutoProxyCreator area before 1.0 final.) Furthermore, "AbstractPrototypeTargetSource" is actually a bit = misleading, as we're using a broader meaning of the word prototype here than found = in bean definitions. "PrototypeTargetSource" matches the bean definition = term exactly, but the base class is more generic: So what about renaming it = to "AbstractDynamicTargetSource" or the like, indicating that it serves as = base class for all non-singleton TargetSources? Like the AopUtils move, this should be fine in terms of compatibility = level, as the base class is not part of the public API but rather an internal implementation detail. PrototypeTargetSource and co will still be fully backward compatible after that change, and I doubt that anyone has implemented custom TargetSources yet (and even if, it's trivial to = adapt). Juergen ________________________________ Von: spr...@li... im Auftrag = von Rod Johnson Gesendet: Fr 02.04.2004 16:53 An: spr...@li... Betreff: Re: [Springframework-developer] Preparing for 1.0.1 I suggest that we sit on this code for at least a week until we release = it, so we can catch anything else. How about we target Monday week for = release? A 1.0.1 release should be driven by stability, not date, so we should = see if any more issues come out of the woodwork. ----- Original Message ----- From: "j=FCrgen h=F6ller [werk3AT]" <jue...@we...> To: <spr...@li...> Sent: Friday, April 02, 2004 10:57 AM Subject: [Springframework-developer] Preparing for 1.0.1 Hi everybody, From my point of view, the code is ready for release 1.0.1. There were a couple of bug fixes and minor enhancements since 1.0 final. The most important fix is proper Hibernate/JTA resource management when flush = fails. Enhancements include the introduction of the MessageCodesResolver = interface in the validation package, and a more efficient internal implementation = of AbstractMessageSource. See the changelog for details. Please give the current CVS snapshot a try. There shouldn't be any = issues, as changes are minor and just affect specific functionality. I'd like to target mid next week for the release, i.e. two weeks after 1.0 final. In = the meantime, the only thing I plan to address is the lack of remoting = coverage in the reference docs. If anyone feels the need to improve other parts = of the docs, please do so till mid next week! Juergen ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id638&op=3Dick _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id638&op=3Dick _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id638&op=3Dick _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id638&op=3Dick _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer |
|
From: Rod J. <rod...@in...> - 2004-04-04 14:08:07
|
I guess AbstractDynamicTargetSource is an improvement. I agree the naming pattern isn't great, but the abstract base class _does_ work with prototy= pe definitions, so having Prototype in its name does make sense. It's not a generic "Dynamic" TargetSource because it works with bean names and getBeans() assuming a prototype. Any other suggestions? If this is renamed, I'd rather that it was undebatably right. R ----- Original Message ----- From: "j=FCrgen h=F6ller [werk3AT]" <jue...@we...> To: <spr...@li...> Sent: Saturday, April 03, 2004 6:46 PM Subject: Re: [Springframework-developer] Preparing for 1.0.1 A minor naming issue that I've noticed: We have an AbstractPrototypeTargetSource, which serves as base class for PrototypeTargetSource, ThreadLocalTargetSource and AbstractPoolingTargetSource. We don't have the AbstractXxx/Xxx naming pattern anywhere else in the framework. (I've actually removed a similar naming pattern in the AbstractAutoProxyCreator area before 1.0 final.) Furthermore, "AbstractPrototypeTargetSource" is actually a bit misleading= , as we're using a broader meaning of the word prototype here than found in bean definitions. "PrototypeTargetSource" matches the bean definition ter= m exactly, but the base class is more generic: So what about renaming it to "AbstractDynamicTargetSource" or the like, indicating that it serves as b= ase class for all non-singleton TargetSources? Like the AopUtils move, this should be fine in terms of compatibility lev= el, as the base class is not part of the public API but rather an internal implementation detail. PrototypeTargetSource and co will still be fully backward compatible after that change, and I doubt that anyone has implemented custom TargetSources yet (and even if, it's trivial to adapt). Juergen ________________________________ Von: spr...@li... im Auftrag von Rod Johnson Gesendet: Fr 02.04.2004 16:53 An: spr...@li... Betreff: Re: [Springframework-developer] Preparing for 1.0.1 I suggest that we sit on this code for at least a week until we release i= t, so we can catch anything else. How about we target Monday week for releas= e? A 1.0.1 release should be driven by stability, not date, so we should see= if any more issues come out of the woodwork. ----- Original Message ----- From: "j=FCrgen h=F6ller [werk3AT]" <jue...@we...> To: <spr...@li...> Sent: Friday, April 02, 2004 10:57 AM Subject: [Springframework-developer] Preparing for 1.0.1 Hi everybody, From my point of view, the code is ready for release 1.0.1. There were a couple of bug fixes and minor enhancements since 1.0 final. The most important fix is proper Hibernate/JTA resource management when flush fail= s. Enhancements include the introduction of the MessageCodesResolver interfa= ce in the validation package, and a more efficient internal implementation o= f AbstractMessageSource. See the changelog for details. Please give the current CVS snapshot a try. There shouldn't be any issues= , as changes are minor and just affect specific functionality. I'd like to target mid next week for the release, i.e. two weeks after 1.0 final. In = the meantime, the only thing I plan to address is the lack of remoting covera= ge in the reference docs. If anyone feels the need to improve other parts of the docs, please do so till mid next week! Juergen ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id638&op=3Dick _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id638&op=3Dick _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id638&op=3Dick _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer |