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: Martin K. <Mar...@St...> - 2005-02-25 22:00:45
|
Hi folks,
while reviewing the code I found a construct that distracted me.
It is the BeanUtils.isAssignable method:
/* Determine if the given type is assignable from the given value,
* assuming setting by reflection. Considers primitive wrapper classes
* as assignable to the corresponding primitive types.
* [..] */
public static boolean isAssignable(Class type, Object value) {
return (value != null && isAssignable(type, value.getClass()) ||
(value == null) && !type.isPrimitive());
}
It seams odd to have something like: a && b || c && d. That is
not clearly clear which binds first and I guess this is not
which was intended.
By reducing the semantic we have:
A => value!=null
B => isAssignable...
C => value==null
D => !type.isPremitive()
So it reads:
return A && B || C && D; //What is this meaning?
I would say that this always true.
If it is not a premitve it is true, if it is null and not a premitve
it is the only thing where it might be returning null.
From the reading I guess it is ment to be:
return (A && B) || (C && D);
Cheers,
Martin (Kersten)
|
|
From: Martin K. <Mar...@St...> - 2005-02-25 20:22:18
|
Hi folks, I just wanted to know why these two are named prop and props, I think property and properties would be more obvious. Are there any plans to change the tag style within the Springframework 2.x releases? Cheers, Martin (Kersten) |
|
From: March, A. <am...@so...> - 2005-02-24 17:15:55
|
Problem solved. Well, I was half right (and really off on the wrong track as you pointed out). I was not holding the object across requests but someone here wrote a class that had non thread-safe access to the velocity context. So, this teaches me to listen to you guys more closely the first time and not any code I did not personally write. The upside is I am now familiar with every line of hibernate and spring hibernate-related code. =20 Thanks for all the help to a OT issue. =20 ________________________________ From: spr...@li... [mailto:spr...@li...] On Behalf Of March, Andres Sent: Monday, January 31, 2005 12:54 PM To: spr...@li... Subject: RE: [Springframework-developer] Non Thread-safe hibernate session =20 I can guarantee that the Hibernate object is not being held across requests. What I cannot be completely sure of is if it is being loaded from the session cache, 2nd tier cache, or the db. I do believe the thread is using the wrong session. The lazy initializer uses the session of the parent object. The parent object is fetched using the session passed by Spring, which should be the one in the ThreadLocal variable of the running Thread. Is anything I have stated untrue or possibly untrue? =20 ________________________________ From: spr...@li... [mailto:spr...@li...] On Behalf Of March, Andres Sent: Saturday, January 29, 2005 12:43 PM To: spr...@li... Subject: RE: [Springframework-developer] Non Thread-safe hibernate session =20 I understand that the lazy initializer is using the wrong session but all our objects are local variables. No object spans requests. So now I'm really confused. The LazyInitializer use the same session as the parent object was loaded in. What I guess I'm saying is that the parent object was also loaded by the wrong session. =20 This problem not only takes load to surface but also is completely random. Different pieces of data during the velocity merge end up failing. You will probably be able to see this by going to http://eq2players.station.sony.com <http://eq2players.station.sony.com/> . If you go to a page that has a lot of data and hit refresh a bunch, stuff will start vanishing. =20 What I can do is verify which session is created for thread 7, since I didn't put that in my trace. I will definitely triple check my code to make sure no object traverses requests. Thanks for your input but I'm still lost. =20 =20 ________________________________ From: spr...@li... [mailto:spr...@li...] On Behalf Of Guillaume Poirier Sent: Saturday, January 29, 2005 11:46 AM To: spr...@li... Subject: Re: [Springframework-developer] Non Thread-safe hibernate session =20 It could be possible if there a finally was missing or something like that, causing a Session to be kept in the ThreadLocal, but it wouldn't cause the Session to be used by a different Thread. Beside, the exception clearly happens with LazyInitialization which makes it doubtful to be related to ThreadLocal stuff, unless the JDK's ThreadLocal class had a concurrency bug that was somehow still unfound. Jurgen's analysis of the situation seems accurate to me. Guillaume Rob Harrop wrote:=20 It seems unlikely that this is a problem with Spring - those threads are created by Tomcat and not Spring. I am wondering however if at that level of load the ThreadLocal stuff isn't getting cleared somehow when a thread is put back in the pool? Is this possible?=20 Rob=20 March, Andres wrote:=20 Unfortunately, this is not the case here. We are using jmeter with unauthenticated requests and therefore put nothing in the httpsession. Additionally, your example should take place with as little as 2 requests: one fetching the object and sticking it into the HttpSession, the other trying to initialize its collections. In our case, we have to create a decent amount of load (~30 pages/sec) for the errors to occur. Any other ideas?=20 ------------------------------------------------------------------------ *From:* spr...@li... [mailto:spr...@li...] *On Behalf Of *Juergen Hoeller=20 *Sent:* Saturday, January 29, 2005 2:44 AM=20 *To:* spr...@li...=20 *Subject:* RE: [Springframework-developer] Non Thread-safe hibernate session=20 Actually, this can happen without either Spring or the ThreadLocal mechanism breaking: One of your persistent objects might hold a lazy persistent collection, which holds a reference to the Session that originally loaded it.=20 If you put such a persistent object into the HttpSession, for example, the original request that loaded the object (in thread TPProcessor1) will have completed and thus the Hibernate Session have been closed. Now, if you take your persistent object out of the HttpSession again in a new request (in thread TPProcessor7) and try to access it lazy collection, it's gonna fail because the original Session has been closed.=20 So the "leak" where a Session reference got out of its original request/thread context is your persistent object in the HttpSession here. This is a well-known problem: To make lazy loading work here, you need to attach the persistent object to the new Hibernate Session (via lock or saveOrUpdate).=20 Juergen=20 -----Original Message-----=20 *From:* spr...@li...=20 [mailto:spr...@li...]*On=20 Behalf Of *March, Andres=20 *Sent:* Friday, January 28, 2005 8:27 PM=20 *To:* spr...@li...=20 *Subject:* [Springframework-developer] Non Thread-safe hibernate=20 session=20 As you can see below, a thread, other than the one that had the=20 session created for it, tries to access a session but it has been=20 closed by the valid owner thread. This only occurs under decent=20 load. There must be some thread safety issue in Spring or the=20 whole ThreadLocal idea goes out the window. Does anybody have any=20 idea how this could occur? I don't see how I could be=20 misinterpreting this trace.=20 FATAL (SessionImpl.java:528) - Constructor for session:=20 net.sf.hibernate.impl.SessionImpl@b72884 on thread : TP-Processor1=20 FATAL (SessionFactoryImpl.java:342) - Session :=20 net.sf.hibernate.impl.SessionImpl@b72884 created for Thread :=20 TP-Processor1=20 ...later on...=20 closing session : net.sf.hibernate.impl.SessionImpl@b72884 and=20 conn: com.mchange.v2.c3p0.impl.NewProxyConnection@4ad009 on Thread=20 : TP-Processor1=20 ...later on...=20 net.sf.hibernate.HibernateException: Session is closed :=20 net.sf.hibernate.impl.SessionImpl@b72884 on thread : TP-Processor7=20 at net.sf.hibernate.impl.SessionImpl.connection(SessionImpl.java:3313)=20 at=20 =20 net.sf.hibernate.proxy.LazyInitializer.initialize(LazyInitializer.java:4 7)=20 at=20 =20 net.sf.hibernate.proxy.LazyInitializer.initializeWrapExceptions(LazyInit ializer.java:60)=20 at=20 =20 net.sf.hibernate.proxy.LazyInitializer.getImplementation(LazyInitializer .java:164)=20 at=20 =20 net.sf.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializ er.java:108)=20 at=20 =20 com.sony.soe.guilds.model.GameCharacter$$EnhancerByCGLIB$$25b6cd13.getBi oImage(<generated>)=20 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)=20 at=20 =20 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav a:39)=20 at=20 =20 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor Impl.java:25)=20 at java.lang.reflect.Method.invoke(Method.java:324)=20 at=20 =20 org.apache.velocity.runtime.parser.node.PropertyExecutor.execute(Propert yExecutor.java:111)=20 at=20 =20 org.apache.velocity.util.introspection.UberspectImpl$VelGetterImpl.invok e(UberspectImpl.java:300)=20 at=20 =20 org.apache.velocity.runtime.parser.node.ASTIdentifier.execute(ASTIdentif ier.java:157)=20 at=20 =20 org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReferenc e.java:175)=20 at=20 =20 org.apache.velocity.runtime.parser.node.ASTReference.evaluate(ASTReferen ce.java:307)=20 at=20 =20 org.apache.velocity.runtime.parser.node.ASTNotNode.evaluate(ASTNotNode.j ava:47)=20 at=20 =20 org.apache.velocity.runtime.parser.node.ASTExpression.evaluate(ASTExpres sion.java:46)=20 at=20 =20 org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfState ment.java:69)=20 at=20 =20 org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.jav a:231)=20 at org.apache.velocity.runtime.directive.Parse.render(Parse.java:181)=20 at=20 =20 org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective .java:116)=20 at=20 =20 org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:56 )=20 at=20 =20 org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfState ment.java:71)=20 at=20 =20 org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:56 )=20 at=20 =20 org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfState ment.java:71)=20 at=20 =20 org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.jav a:231)=20 at org.apache.velocity.runtime.directive.Parse.render(Parse.java:181)=20 at=20 =20 org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective .java:116)=20 at=20 =20 org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.jav a:231)=20 at org.apache.velocity.Template.merge(Template.java:256)=20 at com.sony.soe.web.mvc.VelocityView.go(VelocityView.java:181)=20 at com.sony.soe.guilds.view.VelocityLayout.go(VelocityLayout.java:135)=20 at org.infohazard.maverick.flow.CommandBase.go(CommandBase.java:79)=20 at org.infohazard.maverick.Dispatcher.service(Dispatcher.java:345)=20 at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)=20 at=20 =20 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica tionFilterChain.java:237)=20 at=20 =20 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt erChain.java:157)=20 at=20 =20 net.sf.acegisecurity.ui.AbstractIntegrationFilter.doFilter(AbstractInteg rationFilter.java:170)=20 at=20 =20 com.sony.soe.guilds.controller.SecurityFilter.doFilter(SecurityFilter.ja va:118)=20 at=20 =20 net.sf.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.j ava:88)=20 at=20 =20 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica tionFilterChain.java:186)=20 at=20 =20 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt erChain.java:157)=20 at=20 =20 org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilt erInternal(OpenSessionInViewFilter.java:17=20 1)=20 at=20 =20 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequ estFilter.java:76)=20 at=20 =20 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica tionFilterChain.java:186)=20 at=20 =20 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt erChain.java:157)=20 at=20 =20 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv e.java:214)=20 at=20 =20 org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo ntext.java:104)=20 at=20 =20 org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5 20)=20 at=20 =20 org.apache.catalina.core.StandardContextValve.invokeInternal(StandardCon textValve.java:198)=20 at=20 =20 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv e.java:152)=20 at=20 =20 org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo ntext.java:104)=20 at=20 =20 org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5 20)=20 at=20 =20 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java :137)=20 at=20 =20 org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo ntext.java:104)=20 at=20 =20 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java :117)=20 at=20 =20 org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo ntext.java:102)=20 at=20 =20 org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5 20)=20 at=20 =20 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve. java:109)=20 at=20 =20 org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo ntext.java:104)=20 at=20 =20 org.apache.catalina.valves.RequestDumperValve.invoke(RequestDumperValve. java:169)=20 at=20 =20 org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo ntext.java:102)=20 at=20 =20 org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5 20)=20 at=20 =20 org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)=20 at=20 =20 org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)=20 at=20 =20 org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:296)=20 at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:372)=20 at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:694) at=20 =20 org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java: 626)=20 at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:807)=20 at=20 =20 org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool .java:644)=20 at java.lang.Thread.run(Thread.java:534)=20 -----------------------------------------=20 Andres March=20 Platform - Apps Engineering=20 Sony Online Entertainment=20 desk: 858.577.3373=20 cell: 619.519.1519=20 -------------------------------------------------------=20 This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting=20 Tool for open source databases. Create drag-&-drop reports. Save time=20 by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.=20 Download a FREE copy at http://www.intelliview.com/go/osdn_nl=20 _______________________________________________=20 Springframework-developer mailing list=20 Spr...@li...=20 https://lists.sourceforge.net/lists/listinfo/springframework-developer=20 |
|
From: Howard L. S. <hl...@gm...> - 2005-02-24 12:41:00
|
Have you considered using *both* HiveMind and Spring? HiveMind has good integration into Spring, and Rob recently added integration from Spring into HiveMind. Use each for its strengths. -- Howard M. Lewis Ship Independent J2EE / Open-Source Java Consultant Creator, Jakarta Tapestry Creator, Jakarta HiveMind Professional Tapestry training, mentoring, support and project work. http://howardlewisship.com On Tue, 22 Feb 2005 08:48:24 -0800, Andy Depue <an...@ma...> wrote: > I'm going to add my 2c and just throw in what we do. Our rich client is > modular, in the sense that if a customer pays for a certain module, then they > get that functionality. To easily support this we split each module into its > own .jar. Our goal is that if a module's .jar is on the classpath, then its > "contributions" automatically becomes a part of the application. Our server > creates a WebStart .jnlp for each customer with their particular set of > module .jars setup for their classpath. Yes, this is basically nothing more > than a plugin architecture we are talking about. > So, how do we approach this from a configuration standpoint, seeing that we've > decided to use Spring and Spring-richclient? Basically how Rob has > described. Each module can specify its own Spring configuration file. We > can automatically detect these by requiring all module .jars to have their > Spring config in the same location and with the same name > (META-INF/context.xml). We then pass this into > FileSystemXmlApplicationContext: "classpath*:/META-INF/context.xml" > At this point we have one big ApplicationContext containing all the beans for > all modules. We now need some way to meaningfully and dynamically connect > the various beans together. Modules do not directly reference beans from > each other, because there is no guarantee that a module is going to be > present - meaning I can't do something like this: > > <bean id="modelManager" class="..."> > <property name="modelSources"> > <list> > <ref bean="fooModuleModel"/> > <ref bean="barModuleModel"/> > ... > </list> > </property> > </bean> > > because fooModuleModel and/or barModuleModel might not be present in the > ApplicationContext. So, we implement an idea that is similar in spirit to > "extension points". For each "extension point" we define a simple Java > interface, and then the extension point "stakeholder" will query the > ApplicationContext for beans implementing that interface: > Map modelSources = > BeanFactoryUtils.beansOfTypeIncludingAncestors(getApplicationContext(), > ModelSource.class, false, false); > Which will rake in all beans implementing ModelSource. The interface also > defines a contract that an extension point contributor must implement in > order to meaningfully "contribute" to the extension point. Granted, it would > be nice if Spring provided some automated way to perform this so I wouldn't > have to create dependencies on Spring in my classes (ApplicationContext, > getBeansOfType, etc). > If Spring wanted to automate this "extension point" mechanism such as it > exists in our project, it could provide something like this: > > <bean id="modelManager" class="..."> > <property name="modelSources" extension-point="com.mypackage.ModelSource"/> > </bean> > > Which would automatically build a collection by gathering all beans that > implement the specified interface and injecting the collection into the > "modelSources" property. > > - Andy > > PS In Spring, this whole idea is currently implemented in "recipe" fashion. > IoC containers like HiveMind make the idea a first class citizen. Actually, > we considered HiveMind, but it is not as mature as Spring and doesn't offer > many of the advanced integration constructs of Spring. > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer > |
|
From: Martin K. <Mar...@St...> - 2005-02-23 15:58:17
|
Hi Steven, > I've been following this discussion but the concept of contribution, > extension point, stakeholder doesn't mean anything to me. Could you > please ellaborate for my understanding? Check out the spring framework support forum, architectural section. My topic about turning beans up side down. There you find an explaination. Cheers, Martin (Kersten) > On Wed, 23 Feb 2005 15:58:02 +0100, Martin Kersten > <Mar...@st...> wrote: >> Hi there, >> >> since I am tackling the XmlBeanDefinitionParser implementation, >> I found a simple solution to add contributional support to the Spring >> framework, without breaking any backward compatibility on either >> library nor dtd. >> >> First of all I refactored the parser code and gained a very deep >> understanding, about what actual happends on startup. >> I also done a short analysation of the world part under discurse >> and discovered that a contribution is nothing other >> then a bean (specialisation of it). The concept the word >> bean stands for covers contributional beans also. So my simple >> solution will feel natural for any user of Spring (no new concept >> to be introduced, just an additional way to use beans). >> >> Bean: A instance (singleton or not etc.) >> BeanDefinition: A bean definition describes requirements toward >> a bean instance. >> >> Contribution: Contribution of feature implementations >> towards a certain extension point representable by a >> bean. >> >> ExtensionPoint: The extension point is the point of extention. >> Extending can be done by contributing a >> contribution. >> ExtensionPointPolicy: Describes the requirements for a contribution >> extending the extension point. (Compatibility, >> Correctness) >> ExtensionPoint Stakeholder: Controls the extension point requirements >> and usage. (Declaration of the extension point >> and >> its >> requirements -> Declaration, Compatibility, >> Lifecycle handling) >> >> So how does this analysation fit within the way of Spring? >> >> Push ability (wiring up beans) >> >> <beans> >> <bean id="name"> stuff</bean> >> </beans> >> >> Contribution: (pulling feature contributions on runtime) >> >> <beans> >> <contributions extension-point="extensionPoint"> >> <bean notNamed>stuff</bean> >> </contributions> >> </beans> >> >> Usage: >> >> Object contributions= >> ApplicationContext.getContributions( >> ExtensionPoint, ExtensionPointPolicy); >> >> I guess this would be a great feature for the spring-framework. >> It would combine the world of Spring (push) with the world >> of Eclipse(pull) in a way that leaverage the use of Spring since >> pulling and pushing dependencies apply to be diffrent sets of >> problems. >> >> Is it granted that this feature would make it to the spring >> framework? Since this wont break any >> backward-compatibility requirements, it can be introduced >> in the next Spring 1.x release easily. >> >> Cheers, >> >> Martin (Kersten) >> >> ------------------------------------------------------- >> SF email is sponsored by - The IT Product Guide >> Read honest & candid reviews on hundreds of IT Products from real users. >> Discover which products truly live up to the hype. Start reading now. >> http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click >> _______________________________________________ >> Springframework-developer mailing list >> Spr...@li... >> https://lists.sourceforge.net/lists/listinfo/springframework-developer >> >> > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer |
|
From: Steven D. <ste...@gm...> - 2005-02-23 15:07:55
|
Martin, I've been following this discussion but the concept of contribution, extension point, stakeholder doesn't mean anything to me. Could you please ellaborate for my understanding? Thanks Steven On Wed, 23 Feb 2005 15:58:02 +0100, Martin Kersten <Mar...@st...> wrote: > Hi there, > > since I am tackling the XmlBeanDefinitionParser implementation, > I found a simple solution to add contributional support to the Spring > framework, without breaking any backward compatibility on either > library nor dtd. > > First of all I refactored the parser code and gained a very deep > understanding, about what actual happends on startup. > I also done a short analysation of the world part under discurse > and discovered that a contribution is nothing other > then a bean (specialisation of it). The concept the word > bean stands for covers contributional beans also. So my simple > solution will feel natural for any user of Spring (no new concept > to be introduced, just an additional way to use beans). > > Bean: A instance (singleton or not etc.) > BeanDefinition: A bean definition describes requirements toward > a bean instance. > > Contribution: Contribution of feature implementations > towards a certain extension point representable by a > bean. > > ExtensionPoint: The extension point is the point of extention. > Extending can be done by contributing a > contribution. > ExtensionPointPolicy: Describes the requirements for a contribution > extending the extension point. (Compatibility, > Correctness) > ExtensionPoint Stakeholder: Controls the extension point requirements > and usage. (Declaration of the extension point and > its > requirements -> Declaration, Compatibility, > Lifecycle handling) > > So how does this analysation fit within the way of Spring? > > Push ability (wiring up beans) > > <beans> > <bean id="name"> stuff</bean> > </beans> > > Contribution: (pulling feature contributions on runtime) > > <beans> > <contributions extension-point="extensionPoint"> > <bean notNamed>stuff</bean> > </contributions> > </beans> > > Usage: > > Object contributions= > ApplicationContext.getContributions( > ExtensionPoint, ExtensionPointPolicy); > > I guess this would be a great feature for the spring-framework. > It would combine the world of Spring (push) with the world > of Eclipse(pull) in a way that leaverage the use of Spring since > pulling and pushing dependencies apply to be diffrent sets of > problems. > > Is it granted that this feature would make it to the spring > framework? Since this wont break any > backward-compatibility requirements, it can be introduced > in the next Spring 1.x release easily. > > Cheers, > > Martin (Kersten) > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer > > |
|
From: Martin K. <Mar...@St...> - 2005-02-23 15:00:18
|
Hi there,
since I am tackling the XmlBeanDefinitionParser implementation,
I found a simple solution to add contributional support to the Spring
framework, without breaking any backward compatibility on either
library nor dtd.
First of all I refactored the parser code and gained a very deep
understanding, about what actual happends on startup.
I also done a short analysation of the world part under discurse
and discovered that a contribution is nothing other
then a bean (specialisation of it). The concept the word
bean stands for covers contributional beans also. So my simple
solution will feel natural for any user of Spring (no new concept
to be introduced, just an additional way to use beans).
Bean: A instance (singleton or not etc.)
BeanDefinition: A bean definition describes requirements toward
a bean instance.
Contribution: Contribution of feature implementations
towards a certain extension point representable by a
bean.
ExtensionPoint: The extension point is the point of extention.
Extending can be done by contributing a
contribution.
ExtensionPointPolicy: Describes the requirements for a contribution
extending the extension point. (Compatibility,
Correctness)
ExtensionPoint Stakeholder: Controls the extension point requirements
and usage. (Declaration of the extension point and
its
requirements -> Declaration, Compatibility,
Lifecycle handling)
So how does this analysation fit within the way of Spring?
Push ability (wiring up beans)
<beans>
<bean id="name"> stuff</bean>
</beans>
Contribution: (pulling feature contributions on runtime)
<beans>
<contributions extension-point="extensionPoint">
<bean notNamed>stuff</bean>
</contributions>
</beans>
Usage:
Object contributions=
ApplicationContext.getContributions(
ExtensionPoint, ExtensionPointPolicy);
I guess this would be a great feature for the spring-framework.
It would combine the world of Spring (push) with the world
of Eclipse(pull) in a way that leaverage the use of Spring since
pulling and pushing dependencies apply to be diffrent sets of
problems.
Is it granted that this feature would make it to the spring
framework? Since this wont break any
backward-compatibility requirements, it can be introduced
in the next Spring 1.x release easily.
Cheers,
Martin (Kersten)
|
|
From: Michael S. <mi...@sc...> - 2005-02-23 14:16:20
|
On Wednesday 23 February 2005 14:11, Martin Kersten wrote: > PS: Maybe we simply should state that we disagree and > well cut it off :-). Agreed. Michael -- Michael Schuerig This is not a false alarm mailto:mi...@sc... This is not a test http://www.schuerig.de/michael/ --Rush, Red Tide |
|
From: Kristof J. <dy...@on...> - 2005-02-23 14:12:25
|
Scott, We're having the very same scenario here. Could you please post privately the according part of your spring applicationcontext configuration where lazy-init really happens lazily? Did you also wrap the bean with LazyInitTargetSource? I'd love to see a working solution for that.. thanks, Kristof Scott Battaglia wrote: > Juergen Hoeller wrote: > >> BTW, why do you prefer your JaxRpcPortProxyFactoryBean to be lazily >> initialized? To avoid checking the WSDL at startup? It would maybe make >> sense to add a lazy initialization option to Spring's >> JaxRpcPortProxyFactoryBean itself in this case (I'll consider this). >> >> > We've had to use the lazy-init on the JaxRpcPortProxyFactoryBean in > order avoid checking the WSDL at start up in the case where the client > of the web service is deployed in the same Tomcat instance as the web > service itself (maybe there's a better way to handle this situation > though...). > > -Scott > > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer |
|
From: Kristof J. <dy...@on...> - 2005-02-23 14:09:00
|
Juergen, we need to run to separate webapps which are integrated via WS on the same tomcat (client's choice), so checking the WSDL at startup is not an option. A configurable setting of the WSDL checking would be a perfect solution for that problem. I don't have the application context code anymore and it's not in our CVS either as it wasn't working, but I remember explicitly specifying cglib proxying for that scenario and that's what failed. I needed a quick solution so I separated the WS-integration beans into a separate config file and loading it lazily from the caller manually using the ApplicationContextAware interface, but that's really a workaround, not a solution for the problem. regards, Kristof Juergen Hoeller wrote: > This is not a general problem with LazyInitTargetSource on a FactoryBean: > It's rather a problem with LazyInitTargetSource on a JDK proxy as target, if > no proxy interfaces have been specified. Try specifying an appropriate > interface on your ProxyFactoryBean definition (via the "proxyInterfaces" > bean property); this should automatically lead to a JDK proxy being > generated there too. > > BTW, why do you prefer your JaxRpcPortProxyFactoryBean to be lazily > initialized? To avoid checking the WSDL at startup? It would maybe make > sense to add a lazy initialization option to Spring's > JaxRpcPortProxyFactoryBean itself in this case (I'll consider this). > > Juergen > > > -----Original Message----- > From: spr...@li... > [mailto:spr...@li...]On Behalf > Of Kristof Jozsa > Sent: Thursday, February 17, 2005 3:45 PM > To: spr...@li... > Subject: [Springframework-developer] is LazyInitTargetSource on > factories possible? > > > Hi, > > do I see it right that LazyInitTargetSource with Spring 1.4 cannot be > applied to factory objects? Concretely, I'd want to initialize the > configured JaxRpcPortProxyFactoryBean in a lazy way and it both looks > like it *is* getting initalized on startup and it throws an exception > about trying to subclass a final class.. (see the exception at the end). > > I'd need to figure out that issue as soon as possible, so any help's > greatly appreciated. Any workarounds might also help.. > > thanks much in advance, > > Kristof > > org.springframework.beans.factory.BeanCreationException: Error creating > bean with name 'rasPublicService' defined in ServletContext resource > [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested > exception is org.aopalliance.aop.AspectException: null > java.lang.IllegalArgumentException: Cannot subclass final class class > $Proxy0 > at net.sf.cglib.proxy.Enhancer.generateClass(Enhancer.java:438) > at > net.sf.cglib.transform.TransformingClassGenerator.generateClass(Transforming > ClassGenerator.java:33) > at > net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy > .java:25) > at > net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java: > 215) > at net.sf.cglib.proxy.Enhancer.createHelper(Enhancer.java:368) > at net.sf.cglib.proxy.Enhancer.create(Enhancer.java:280) > at > org.springframework.aop.framework.Cglib2AopProxy.getProxy(Cglib2AopProxy.jav > a:176) > at > org.springframework.aop.framework.Cglib2AopProxy.getProxy(Cglib2AopProxy.jav > a:137) > at > org.springframework.aop.framework.ProxyFactoryBean.getSingletonInstance(Prox > yFactoryBean.java:241) > at > org.springframework.aop.framework.ProxyFactoryBean.setBeanFactory(ProxyFacto > ryBean.java:201) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory > .createBean(AbstractAutowireCapableBeanFactory.java:338) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory > .createBean(AbstractAutowireCapableBeanFactory.java:260) > at > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Abstra > ctBeanFactory.java:221) > at > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Abstra > ctBeanFactory.java:145) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory > .autowireByName(AbstractAutowireCapableBeanFactory.java:700) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory > .populateBean(AbstractAutowireCapableBeanFactory.java:668) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory > .createBean(AbstractAutowireCapableBeanFactory.java:325) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory > .createBean(AbstractAutowireCapableBeanFactory.java:260) > at > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Abstra > ctBeanFactory.java:221) > at > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Abstra > ctBeanFactory.java:145) > at > org.springframework.beans.factory.support.DefaultListableBeanFactory.preInst > antiateSingletons(DefaultListableBeanFactory.java:282) > at > org.springframework.context.support.AbstractApplicationContext.refresh(Abstr > actApplicationContext.java:317) > at > org.springframework.web.context.support.AbstractRefreshableWebApplicationCon > text.refresh(AbstractRefreshableWebApplicationContext.java:131) > at > org.springframework.web.struts.ContextLoaderPlugIn.createWebApplicationConte > xt(ContextLoaderPlugIn.java:352) > at > org.springframework.web.struts.ContextLoaderPlugIn.initWebApplicationContext > (ContextLoaderPlugIn.java:295) > at > org.springframework.web.struts.ContextLoaderPlugIn.init(ContextLoaderPlugIn. > java:224) > at > org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java: > 839) > at org.apache.struts.action.ActionServlet.init(ActionServlet.java:332) > at javax.servlet.GenericServlet.init(GenericServlet.java:256) > at org.mortbay.jetty.servlet.ServletHolder.start(ServletHolder.java:220) > at > org.mortbay.jetty.servlet.ServletHandler.initializeServlets(ServletHandler.j > ava:445) > at > org.mortbay.jetty.servlet.WebApplicationHandler.initializeServlets(WebApplic > ationHandler.java:150) > at > org.mortbay.jetty.servlet.WebApplicationContext.start(WebApplicationContext. > java:458) > at org.mortbay.http.HttpServer.start(HttpServer.java:663) > at com.iw.plugins.jettyrunner.PluginRunner.launch(PluginRunner.java:282) > at com.iw.plugins.jettyrunner.PluginRunner.launch(PluginRunner.java:104) > at com.iw.plugins.jettyrunner.PluginRunner.main(PluginRunner.java:75) > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer > > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer |
|
From: Dmitriy K. <dko...@ru...> - 2005-02-23 13:32:09
|
Colin Sampaleanu wrote: > In fact, you can need cglib even without using the 'main' aop code, if > you use method injection in the core container... > > ...or using Hibernate :-) |
|
From: Martin K. <Mar...@St...> - 2005-02-23 13:13:20
|
>> Thats how it is said to be thought of. But think about it, why does >> the *.web modul doesn't contain any type/classes? Wouldn't you >> expecting something going on here? > > No, why should I? For my taste you're relying too much on principles. > While these principles are certainly not bad, you have to show that > they're pulling some weight in the cases where you suggest they be > applied. Put up a web page with a class diagram of an alternative > package structure and explain why -- in practical terms! -- it is > superior. Principles are just concepts. But understanding the outcome (the reason), I can refer to priniples - which are only design advices/ ways to design/think - to talk about the use of these concepts. But of cause there is an underlying reason why the concepts exist / where identified by the contributors. That reason is the fun. Never the less. I am not quite familiar with the web application (I use the package of cause, but it's only for the descriptive task). One thing that I want you consider: You said you used the bean package just for your stuff. The rest you were not needing. But think of the ApplicationContext, it is the reason why the beans package is existing. ApplicationContext is the more abstract level. So you would be able to do your stuff with the application context, too. Using the ApplicationContext should be seen as the 'better' way to do things. I only used the ApplicationContext. The diffrence between my test cases and the product is the way I describe the ApplicationContext. And thats all. So in my oppinion the ApplicationContext should be placed in org.springframework since beans, aop and context are only exisiting to provide the functionality the ApplicationContext needs (or better an implementation of the interface needed). And check out the web package. Same pattern. WebApplicationContext could be placed in the *.web package since everything else is related to it. Check out the jsp tags - only providing to access the web application context. Sure you can rip of the package and use the bean implementation by yourself. Thats how it is ment to be. Part of, you know. If a part can meet your needs, than the whole will also do. For example, I am currently doing refactoring of the DefaultXmlBeanDefinitionParser implementation. This is part of bean.factory.xml. In my thinking this is wrong placement. The parser first of all should be in a modul about parsers. But beside this you read an application context definition file. Check out how the dtd of spring is defined. All about beans. To describe an application context you are referring to the dtd. -> Spring is about defining a application context for certain applications. That's what it makes superior. It makes the application center (opposite are Enterprise Java Beans). -> The sub-modules are only existing to provide good integration with common sub-domain specific needs like using JMX, java mail, web etc. Draw the UML-Class diagramm about the current Spring design and the way I would love it would be. When you draw in the dependencies (who needs who) than you will see that in a spring world you have dependencies among modules within the same level of structur. In my design the type dependencies go straight to the sub-modules and the implementation dependencies go straight up to the parent modul. That's what it makes it superior (in my view). Cheers, Martin (Kersten) PS: Maybe we simply should state that we disagree and well cut it off :-). |
|
From: Michael S. <mi...@sc...> - 2005-02-23 11:23:25
|
On Wednesday 23 February 2005 11:55, Martin Kersten wrote: > Thats how it is said to be thought of. But think about it, why does > the *.web modul doesn't contain any type/classes? Wouldn't you > expecting something going on here? No, why should I? For my taste you're relying too much on principles. While these principles are certainly not bad, you have to show that they're pulling some weight in the cases where you suggest they be applied. Put up a web page with a class diagram of an alternative package structure and explain why -- in practical terms! -- it is superior. Michael -- Michael Schuerig Most people would rather die than think. mailto:mi...@sc... In fact, they do. http://www.schuerig.de/michael/ --Bertrand Russell |
|
From: Martin K. <Mar...@St...> - 2005-02-23 10:58:24
|
>> >> Also I would love to see Spring being applied to >> >> the 'Interface belongs to the client' design principle. :-) >> > >> > A faithful of the church of (Uncle) Bob, or so it seems ;-) >> >> Who is Bob? :-) I am with Fowler and Kent! ;-) > > I was pretty sure, but apparently wrong nonetheless, that you were > referring to Robert C. Martin, aka Uncle Bob. Well, well, Mr Martin is for sure a person, I know about. But I never heared of Uncle Bob. But Martin's books are great stuff :-). > In particular, I thought you had some of these principles in mind > <http://www.objectmentor.com/resources/listArticles?key=topic&topic=Design%20Principles> Ok I read his works, so I know them. But 'Dont ask just tell' is another strong principle he don't refer to. I dont know how this matches his collection of favorite principles. >> Applying the interface belongs to the client is like this. >> The ApplicationContext for me is the core component of the >> springframework the way I used to use it. Define a context and >> off you go. So where does the ApplicationContext interface belongs >> to? Well it is about the org.springframework package. The >> springframework is the client being in need of the ApplicationContext >> to deliver use for the people. > > I don't agree; at least I'm not convinced. For one thing, I've used > parts of Spring without touching so much as a BeanFactory. To my mind, > the Spring package structure is easy to follow. The level below > org.springframework denotes some general concern that can be understood > from the point of view of a developer using Spring. The packages below > that are about more specific aspects or implementation. Thats how it is said to be thought of. But think about it, why does the *.web modul doesn't contain any type/classes? Wouldn't you expecting something going on here? > As is, the package structure appears to be "taxonomically-inspired", it > hierarchically groups related pieces. Whereas what you suggest is a > "usage-inspired" grouping, where things that likely to be used together > are put nearby. Well you are user centric anyways. Dont implement something that noone uses. So there is a usecase for everything within the spring framework. But use cases are about functionality and the main functionality should be expressed by the main modul/package. >> It is about focus of the people working within sub-projects. I often >> see usefull code being not pushed up the package hierarchie just >> because the lack of focus. > > Let me suggest that the reason is not lack of focus, but a fundamentally > different mindset regarding where things belong. I don't share your > view and judging from Spring as it is, neither does the Spring team. In > particular, I don't share the assumption that the deeper down the > package hierarchy a class is located the less significant it is. It's about specialisation. The deeper the module lays in the hierarchy the more special is the use case scenario. >> PS: Nice reading section by the way. I would like to add that >> "Code Complete,2nd Edition"(++), "Mythical Man-Month"(+++), >> "Domain-Driven-Design" (+++!), "Death March" (++), >> "Software Project Survival Guide" (++) are also some great reads. > > Except for "Death March" I've read them, DDD is actually there on the > list and the others just didn't make it. 'Death March' is a nice one. Alexander's pattern book should be read also ;-). 'Writing effective Usecases' is also a good one but its layout is flawed. But I guess this one you also read. Any recommondations beside the books you state in your book list (read most of them). >> PSS: Saidly but "Analyse Pattern" was the first and last book >> that Martin Fowler wrote about world analysation. I got a great >> lesson lately completly focused about analysation pattern and >> another one called requirement enginiering. That was mind >> altering, I can tell you! But there is no standard book about this! >> :-( > I have "Data and Reality" by William Kent unread at arms length. It's > approaching 30 years of age, but I've seen some recommendations > recently. In general, though, I think software development should not > try to mimick ontology. Epistemology may be more like it, thus modeling > how we interact with the world instead of how it is in itself. > Incidentally, we appear to exchange positions here. Where above I > favored a roughly "ontological/taxonomical" approach, in this regard I > prefer "epistemological/usage-based". But I fear that's just idle > theory... I guess this book was a base foundation of my lessons. Well I only go with the use-case centric approach. Everything is based on the usage experience of the user. Do the simpliest thing to satisfy the user. Supporting modules have to satisfy the needs of the parent modul. But how does the parent modul forumlate the requirements about the implementation? The parent provides the interfaces the sub-modul has to satisfy. That's all. Parent (Client) defines the needs by providing interfaces. That's why interfaces should belong to the client. That's why parent moduls are the client of sub-modules. And that's why I argue that way. Cheers, Martin (Kersten) > > > Michael > > -- > Michael Schuerig The Fifth Rider of the Apocalypse > mailto:mi...@sc... is a programmer. > http://www.schuerig.de/michael/ > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer |
|
From: Rob H. <ro...@ca...> - 2005-02-23 09:47:39
|
Scott, A lot of the class names and package names changed. I have uploaded a PDF of the work in progress docs to the Wiki. Be aware that it is still quite rough, but it should give you a good idea of what is going on. With your error, what protocol are you using to connect to the MBeanServer? Rob Scott Battaglia wrote: > Just in case any one else is looking at the example Michael provided, > not only is JmxMBeanAdapter renamed to MBeanExporter, the > MBeanServerFactoryBean is located under support not factory (found > that out the hard way ;-)) > > Michael, Thomas or Rob. Have you guys seen this error in relation to > the JMX support?: > Feb 23, 2005 12:01:07 AM GenericConnectorServer ClientCreation.run > WARNING: Failed to open connection: java.io.StreamCorruptedException: > invalid st > ream header > java.io.StreamCorruptedException: invalid stream header > at > java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:737 > ) > at java.io.ObjectInputStream.<init>(ObjectInputStream.java:253) > at > com.sun.jmx.remote.socket.SocketConnection$ObjectInputStreamWithLoade > r.<init>(SocketConnection.java:354) > at > com.sun.jmx.remote.socket.SocketConnection.readMessage(SocketConnecti > on.java:204) > at > com.sun.jmx.remote.opt.security.AdminServer.connectionOpen(AdminServe > r.java:76) > at > com.sun.jmx.remote.generic.ServerSynchroMessageConnectionImpl.connect > (ServerSynchroMessageConnectionImpl.java:51) > at > javax.management.remote.generic.GenericConnectorServer$ClientCreation > .run(GenericConnectorServer.java:383) > at > com.sun.jmx.remote.opt.util.ThreadService$ThreadServiceJob.run(Thread > Service.java:208) > at > com.sun.jmx.remote.opt.util.JobExecutor.run(JobExecutor.java:59) > > I got this on Tomcat 5.0.27 and 5.0.30-beta. I tried to connect using > jconsole in JDK 5 and connecting to a remote server of localhost:9876 > (I also tried on port 10,000) > > Thanks > > Scott Battaglia > Application Developer, Architecture and Engineering Team > Enterprise Systems and Services, Rutgers University > v: 732.445.0097 | f: 732.445.5493 | sco...@ru... > > > > Michael Schuerig wrote: > >> On Tuesday 22 February 2005 21:26, Scott Battaglia wrote: >> >> >> >>> Okay, I'll look for them after the 1.1.5 release then! In the mean >>> time are any of the test cases a good kind of guide to follow? I'm >>> not too familar with JMX so I'm learning JMX and trying to figure out >>> the Spring support at the same time (probably not a good >>> combination). >>> >> >> >> If all you want to do is expose a Spring bean as an MBean it's >> actually pretty easy and doesn't require any code. >> >> Create an MBeanServer registered as a bean >> >> <bean id="mbeanserver" >> class="org.springframework.jmx.factory.MBeanServerFactoryBean"> >> <property name="defaultDomain"><value>MyDomain</value></property> >> </bean> >> >> Wrap an MBean adapter around my repositorymanager bean (not shown), >> which is a completely ordinary java object. In this case, public >> methods are exposed as attributes/operations. Alternatively, >> metadata can be used. >> >> <bean id="mbeanadapter" >> class="org.springframework.jmx.JmxMBeanAdapter"> >> <property name="server"><ref local="mbeanserver"/></property> >> <property name="beans"> >> <map> >> <entry key="MyDomain:id=Repository"> >> <ref bean="repositorymanager"/> >> </entry> >> </map> >> </property> >> </bean> >> >> Create a connector listening, by default, on >> service:jmx:jmxmp://localhost:9876 (this requires >> jmxremote_optional.jar) >> >> <bean id="jmxconnector" >> class="org.springframework.jmx.support.ConnectorServerFactoryBean"> >> <property name="server"> >> <ref local="mbeanserver" /> >> </property> >> <!-- This is the default URL anyway --> >> <property name="serviceUrl"> >> <value>service:jmx:jmxmp://localhost:9876</value> >> </property> >> <property name="threaded"> >> <value>true</value> >> </property> >> <!-- Ensure the connector thread doesn't keep the >> servlet container running --> >> <property name="daemon"> >> <value>true</value> >> </property> >> </bean> >> >> >> HTH, >> Michael >> >> >> > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer > > |
|
From: Steven D. <ste...@gm...> - 2005-02-23 09:28:47
|
It's ok to think separate jars have merit, it's ok to stick to the
paritioning as it is but why not document the dependencies?
On Tue, 22 Feb 2005 22:02:29 -0500, Colin Sampaleanu <col...@ex...> wrote:
> In fact, you can need cglib even without using the 'main' aop code, if
> you use method injection in the core container...
>
>
> Rob Harrop wrote:
>
> > Only if you use class proxies. If you stick to JDK proxies you can
> > leave CGLIB out.
> >
> > Rob
> >
> > Steven Devijver wrote:
> >
> >> cglib?
> >>
> >>
> >> On Tue, 22 Feb 2005 15:56:04 +0000, Rob Harrop
> >> <ro...@ca...> wrote:
> >>
> >>
> >>> Just spring-aop.jar plus the aopalliance.jar. You will need
> >>> spring-core.jar if you want to use a BeanFactory.
> >>>
> >>> Rob
> >>>
> >>> Steven Devijver wrote:
> >>>
> >>>
> >>>
> >>>> And what jars do I require to use the aop part, for example?
> >>>>
> >>>>
> >>>> On Tue, 22 Feb 2005 15:20:55 +0000, Rob Harrop
> >>>> <ro...@ca...> wrote:
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>> Its already split up as core, web, mvc, jdbc, orm and aop.
> >>>>>
> >>>>> Rob
> >>>>>
> >>>>> Martin Kersten wrote:
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>>> The distribution comes with different JARs for different
> >>>>>>> circumstances, but it might be nice to be able to download them
> >>>>>>> separately as well.
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>> How does web fits the vision of the core framework? It's really an
> >>>>>> issue. Would you also like to deliver the rich client platform
> >>>>>> and it's dependency also within the framework?
> >>>>>>
> >>>>>> But downloading the required jars based on the case scenario
> >>>>>> the user has would be a great improvement anyways. For my
> >>>>>> current research I would like to had the option to get a
> >>>>>> web free, jdbc free, jms free, mail free, orm free, remoting free,
> >>>>>> transaction free Spring version.
> >>>>>>
> >>>>>> If I would be in charge I would split it up the following way:
> >>>>>>
> >>>>>> core, web, j2ee, persistence, later rpc.
> >>>>>>
> >>>>>>
> >>>>>> Cheers,
> >>>>>>
> >>>>>> Martin (Kersten)
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>> Rob
> >>>>>>>
> >>>>>>> Martin Kersten wrote:
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>>> My thoughts exactly :). We have enough dependencies already.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>> You should break up your framework anyways.
> >>>>>>>>
> >>>>>>>> You are currently providing a 'Jack of all trades' API. A solution
> >>>>>>>> for everything but nothing in particular.
> >>>>>>>>
> >>>>>>>> Don't get mad :-) Here is what I mean:
> >>>>>>>>
> >>>>>>>> Spring adapts services for many diffrent situations:
> >>>>>>>> You having a web application, fine download the
> >>>>>>>> default spring framework,
> >>>>>>>> You have a command line application, fine download
> >>>>>>>> the default spring framework
> >>>>>>>>
> >>>>>>>> If it's not in the framework, we dont support it.
> >>>>>>>>
> >>>>>>>> Thats what I mean. Download the framework and be happy.
> >>>>>>>>
> >>>>>>>> It's like java, download the SE and you have all the stuff those
> >>>>>>>> folks think some (!) people might(!) wanna have.
> >>>>>>>>
> >>>>>>>> How about making a core framework and having extensions.
> >>>>>>>>
> >>>>>>>> So you go for a normal application, just download the core
> >>>>>>>> framework. You want to go for a web application, download
> >>>>>>>> the core framework and download the web extension.
> >>>>>>>>
> >>>>>>>> You know I am currently trying to get my visions into the RPC
> >>>>>>>> sub project. And when you start to develop your own
> >>>>>>>> rich client(!) guess what, you have code for setting up a web
> >>>>>>>> application right out of the box!
> >>>>>>>>
> >>>>>>>> Imagen what a relieve it would be for all of you folks to speak
> >>>>>>>> about extensions and the core project, manage the dependencies
> >>>>>>>> for those individually. Imagen having more then one swing
> >>>>>>>> reference
> >>>>>>>> documentation. One for the core, one for the web, one for RPC and
> >>>>>>>> so on. Boy I would be lucky if I were you :-).
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> Martin (Kersten)
> >>>>>>>>
> >>>>>>>> PS: Just a hint! ;-)
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>> Erwin Vervaet wrote:
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>> I think the main reason to use the W3C DOM API directly is to
> >>>>>>>>>> avoid the need for an extra dependency (e.g. JDOM) just to parse
> >>>>>>>>>> the XML bean definitions. You end up with an "less than elegant"
> >>>>>>>>>> implementation in DefaultXmlBeanDefinitionParser, but in this
> >>>>>>>>>> case
> >>>>>>>>>> the benifits outweigh the costs.
> >>>>>>>>>> Erwin Vervaet
> >>>>>>>>>> erw...@er... <mailto:erw...@er...>
> >>>>>>>>>>
> >>>>>>>>>> ----- Original Message -----
> >>>>>>>>>> *From:* Martin Kersten
> >>>>>>>>>> <mailto:Mar...@St...>
> >>>>>>>>>> *To:* spr...@li...
> >>>>>>>>>> <mailto:spr...@li...>
> >>>>>>>>>> *Sent:* Tuesday, February 22, 2005 1:21 PM
> >>>>>>>>>> *Subject:* [Springframework-developer] I don't like the
> >>>>>>>>>> DefaultXmlBeanDefinitionParser
> >>>>>>>>>>
> >>>>>>>>>> Hi folks,
> >>>>>>>>>> I am currently trying to extend the framework by supporting
> >>>>>>>>>> contributions.
> >>>>>>>>>> Just to see how it feels.
> >>>>>>>>>> So I made some investigations in the sourcecode. I don't
> >>>>>>>>>> want to
> >>>>>>>>>> start a war
> >>>>>>>>>> about proper design rules, since I am a believer in 'Interface
> >>>>>>>>>> belongs to the
> >>>>>>>>>> client' stuff and you are appearently not, but this isn't the
> >>>>>>>>>> issue I want to
> >>>>>>>>>> talk about.
> >>>>>>>>>> Th implementation I hate most on first sight is the
> >>>>>>>>>> XMLBeanDefinitionParser. I know it does what it should but you
> >>>>>>>>>> can
> >>>>>>>>>> read this:
> >>>>>>>>>> /**
> >>>>>>>>>> * Make the horrible DOM API slightly more bearable:
> >>>>>>>>>> * get the text value we know this element contains.
> >>>>>>>>>> */
> >>>>>>>>>> Well I would agree but it's a bit wired also. You think
> >>>>>>>>>> the DOM
> >>>>>>>>>> API is horrible
> >>>>>>>>>> and you are still using it? You know what it means to use a
> >>>>>>>>>> horrible API? You write a horrible implementation! And
> >>>>>>>>>> thats how
> >>>>>>>>>> it looks.
> >>>>>>>>>> It took me more then a gaze to catch the meaning of the parser
> >>>>>>>>>> and
> >>>>>>>>>> I also
> >>>>>>>>>> got blown by the code duplication. Since I am in need to
> >>>>>>>>>> extend
> >>>>>>>>>> this class,
> >>>>>>>>>> So I would like to ask if I may refactor it and commit you a
> >>>>>>>>>> patch
> >>>>>>>>>> (or maybe
> >>>>>>>>>> a complete reimplementation)?
> >>>>>>>>>> Cheers,
> >>>>>>>>>> Martin (Kersten)
> >>>>>>>>>> PS: By the way, how about 'Hidding 3rd party library behind
> >>>>>>>>>> single
> >>>>>>>>>> interface?'
> >>>>>>>>>>
> >>>>>>>>>> ----- Original Message -----
> >>>>>>>>>> *From:* Martin Kersten
> >>>>>>>>>> <mailto:Mar...@St...>
> >>>>>>>>>> *To:* spr...@li...
> >>>>>>>>>> <mailto:spr...@li...>
> >>>>>>>>>> *Sent:* Tuesday, February 22, 2005 12:46 PM
> >>>>>>>>>> *Subject:* Re: [Springframework-developer] Please check
> >>>>>>>>>> these
> >>>>>>>>>> two things
> >>>>>>>>>>
> >>>>>>>>>> Sorry, thought the agreement goes with the callee. Ok :-)
> >>>>>>>>>> sorry was a strange day for me, I guess.
> >>>>>>>>>> Thanks,
> >>>>>>>>>> Martin (Kersten)
> >>>>>>>>>> ----- Original Message -----
> >>>>>>>>>>
> >>>>>>>>>> *From:* Juergen Hoeller
> >>>>>>>>>> <mailto:ju...@in...>
> >>>>>>>>>> *To:* spr...@li...
> >>>>>>>>>>
> >>>>>>>>>> <mailto:spr...@li...>
> >>>>>>>>>> *Sent:* Tuesday, February 22, 2005 12:13 PM
> >>>>>>>>>> *Subject:* Re: [Springframework-developer] Please
> >>>>>>>>>> check
> >>>>>>>>>> these two things
> >>>>>>>>>>
> >>>>>>>>>> Actually, I have *not* replaced this with a ==
> >>>>>>>>>> comparison
> >>>>>>>>>> of the arrays: Instead, BatchSqlUpdate is storing
> >>>>>>>>>> clones
> >>>>>>>>>> of the passed-in arrays now, for execution on
> >>>>>>>>>> flush. This
> >>>>>>>>>> avoids any side effects in the first place (even if
> >>>>>>>>>> the
> >>>>>>>>>> passed-in arrays are changed afterwards or reused for
> >>>>>>>>>> multiple update inovcations), and the overhead of
> >>>>>>>>>> cloning
> >>>>>>>>>> an array should be acceptable (after all, we're
> >>>>>>>>>> talking
> >>>>>>>>>> about database update operations here).
> >>>>>>>>>> Juergen
> >>>>>>>>>>
> >>>>>>>>>> -----Original Message-----
> >>>>>>>>>> *From:*
> >>>>>>>>>>
> >>>>>>>>>> spr...@li...
> >>>>>>>>>>
> >>>>>>>>>> [mailto:spr...@li...]*On
> >>>>>>>>>>
> >>>>>>>>>> Behalf Of *Martin Kersten
> >>>>>>>>>> *Sent:* Tuesday, February 22, 2005 12:04 PM
> >>>>>>>>>> *To:*
> >>>>>>>>>> spr...@li...
> >>>>>>>>>> *Subject:* Re: [Springframework-developer] Please
> >>>>>>>>>> check these two things
> >>>>>>>>>>
> >>>>>>>>>> But isn't this bogus thinking? I mean replacing
> >>>>>>>>>> .equals with == makes
> >>>>>>>>>> the implementation more strickt and reduces
> >>>>>>>>>> semantical
> >>>>>>>>>> informations.
> >>>>>>>>>> We are thinking about objects and there is no
> >>>>>>>>>> performance gap
> >>>>>>>>>> to justify this modification.
> >>>>>>>>>> I wouldn't do it. I just would ensure that equals
> >>>>>>>>>> implementations
> >>>>>>>>>> start with if(this==object) return true;. How
> >>>>>>>>>> huge is
> >>>>>>>>>> the estimated
> >>>>>>>>>> performance gain?
> >>>>>>>>>>
> >>>>>>>>>> Cheers,
> >>>>>>>>>> Martin (Kersten)
> >>>>>>>>>>
> >>>>>>>>>> ----- Original Message -----
> >>>>>>>>>> *From:* Juergen Hoeller
> >>>>>>>>>> <mailto:ju...@in...>
> >>>>>>>>>> *To:*
> >>>>>>>>>>
> >>>>>>>>>> spr...@li...
> >>>>>>>>>>
> >>>>>>>>>> <mailto:spr...@li...>
> >>>>>>>>>>
> >>>>>>>>>> *Sent:* Tuesday, February 22, 2005 10:06 AM
> >>>>>>>>>> *Subject:* Re: [Springframework-developer]
> >>>>>>>>>> Please
> >>>>>>>>>> check these two things
> >>>>>>>>>>
> >>>>>>>>>> Well-spotted!
> >>>>>>>>>> ConcurrencyThrottleInterceptor should
> >>>>>>>>>> indeed use
> >>>>>>>>>> an internal monitor to avoid any potential for
> >>>>>>>>>> side effects. I doubt that this has caused any
> >>>>>>>>>> issue in practice, but it's nevertheless
> >>>>>>>>>> cleaner.
> >>>>>>>>>> That check in BatchSqlUpdate is not
> >>>>>>>>>> supposed to
> >>>>>>>>>> compare the elements but just the array
> >>>>>>>>>> reference:
> >>>>>>>>>> Repeated update invocations should not pass-in
> >>>>>>>>>> the
> >>>>>>>>>> same array instance repeatedly, with modified
> >>>>>>>>>> elements. Of course, a == check would be
> >>>>>>>>>> sufficient for this. I've reworked that part a
> >>>>>>>>>> bit
> >>>>>>>>>> differently, though: BatchSqlUpdate stores a
> >>>>>>>>>> clone
> >>>>>>>>>> of the passed-in array now, so there
> >>>>>>>>>> shouldn't be
> >>>>>>>>>> a need for such a check anymore.
> >>>>>>>>>> Juergen
> >>>>>>>>>>
> >>>>>>>>>> -----Original Message-----
> >>>>>>>>>> *From:*
> >>>>>>>>>>
> >>>>>>>>>> spr...@li...
> >>>>>>>>>>
> >>>>>>>>>> [mailto:spr...@li...]*On
> >>>>>>>>>>
> >>>>>>>>>> Behalf Of *Dave Brosius
> >>>>>>>>>> *Sent:* Tuesday, February 22, 2005 8:08 AM
> >>>>>>>>>> *To:*
> >>>>>>>>>>
> >>>>>>>>>> spr...@li...
> >>>>>>>>>> *Subject:* [Springframework-developer]
> >>>>>>>>>> Please
> >>>>>>>>>> check these two things
> >>>>>>>>>>
> >>>>>>>>>> These may be problems, and then again
> >>>>>>>>>> maybe
> >>>>>>>>>> not. But they seem odd/wrong to me
> >>>>>>>>>> 1) In
> >>>>>>>>>>
> >>>>>>>>>> org.springframework.aop.interceptor.ConcurrencyThrottleInterceptor
> >>>>>>>>>>
> >>>>>>>>>> in method invoke
> >>>>>>>>>> uses wait on 'this'
> >>>>>>>>>> In my mind you are exposing your
> >>>>>>>>>> synchronization strategies as a public
> >>>>>>>>>> artifact, which leaves this class open to
> >>>>>>>>>> failure due to client code.
> >>>>>>>>>> The client code may unwittingly us an
> >>>>>>>>>> instance
> >>>>>>>>>> of this class to do it's own
> >>>>>>>>>> synchronization,
> >>>>>>>>>> and totally screw up this class.
> >>>>>>>>>> I would recommend doing synchronizations
> >>>>>>>>>> (especially the use of wait/notify) on a
> >>>>>>>>>> private member so client code can not
> >>>>>>>>>> effect it.
> >>>>>>>>>> 2) In
> >>>>>>>>>>
> >>>>>>>>>> org.springframework.jdbc.object.BatchSqlUpdate
> >>>>>>>>>> in method update, you do
> >>>>>>>>>> if (!this.parameterQueue.isEmpty() &&
> >>>>>>>>>>
> >>>>>>>>>> args.equals(this.parameterQueue.getLast())) {
> >>>>>>>>>> this is the same as using args ==
> >>>>>>>>>> this.parameterQueue.getLast()
> >>>>>>>>>> or in other words, are these objects the
> >>>>>>>>>> same
> >>>>>>>>>> object. I assume you want to compare the
> >>>>>>>>>> elements of the array?
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> -------------------------------------------------------
> >>>>>>>>> SF email is sponsored by - The IT Product Guide
> >>>>>>>>> Read honest & candid reviews on hundreds of IT Products from real
> >>>>>>>>> users.
> >>>>>>>>> Discover which products truly live up to the hype. Start
> >>>>>>>>> reading now.
> >>>>>>>>> http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
> >>>>>>>>> _______________________________________________
> >>>>>>>>> Springframework-developer mailing list
> >>>>>>>>> Spr...@li...
> >>>>>>>>> https://lists.sourceforge.net/lists/listinfo/springframework-developer
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> -------------------------------------------------------
> >>>>>>>> SF email is sponsored by - The IT Product Guide
> >>>>>>>> Read honest & candid reviews on hundreds of IT Products from real
> >>>>>>>> users.
> >>>>>>>> Discover which products truly live up to the hype. Start
> >>>>>>>> reading now.
> >>>>>>>> http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
> >>>>>>>> _______________________________________________
> >>>>>>>> Springframework-developer mailing list
> >>>>>>>> Spr...@li...
> >>>>>>>> https://lists.sourceforge.net/lists/listinfo/springframework-developer
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>>> -------------------------------------------------------
> >>>>>>> SF email is sponsored by - The IT Product Guide
> >>>>>>> Read honest & candid reviews on hundreds of IT Products from
> >>>>>>> real users.
> >>>>>>> Discover which products truly live up to the hype. Start reading
> >>>>>>> now.
> >>>>>>> http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
> >>>>>>> _______________________________________________
> >>>>>>> Springframework-developer mailing list
> >>>>>>> Spr...@li...
> >>>>>>> https://lists.sourceforge.net/lists/listinfo/springframework-developer
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>> -------------------------------------------------------
> >>>>>> SF email is sponsored by - The IT Product Guide
> >>>>>> Read honest & candid reviews on hundreds of IT Products from real
> >>>>>> users.
> >>>>>> Discover which products truly live up to the hype. Start reading
> >>>>>> now.
> >>>>>> http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
> >>>>>> _______________________________________________
> >>>>>> Springframework-developer mailing list
> >>>>>> Spr...@li...
> >>>>>> https://lists.sourceforge.net/lists/listinfo/springframework-developer
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> >>>>> -------------------------------------------------------
> >>>>> SF email is sponsored by - The IT Product Guide
> >>>>> Read honest & candid reviews on hundreds of IT Products from real
> >>>>> users.
> >>>>> Discover which products truly live up to the hype. Start reading now.
> >>>>> http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
> >>>>> _______________________________________________
> >>>>> Springframework-developer mailing list
> >>>>> Spr...@li...
> >>>>> https://lists.sourceforge.net/lists/listinfo/springframework-developer
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>
> >>>> -------------------------------------------------------
> >>>> SF email is sponsored by - The IT Product Guide
> >>>> Read honest & candid reviews on hundreds of IT Products from real
> >>>> users.
> >>>> Discover which products truly live up to the hype. Start reading now.
> >>>> http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
> >>>> _______________________________________________
> >>>> Springframework-developer mailing list
> >>>> Spr...@li...
> >>>> https://lists.sourceforge.net/lists/listinfo/springframework-developer
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>
> >>> -------------------------------------------------------
> >>> SF email is sponsored by - The IT Product Guide
> >>> Read honest & candid reviews on hundreds of IT Products from real
> >>> users.
> >>> Discover which products truly live up to the hype. Start reading now.
> >>> http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
> >>> _______________________________________________
> >>> Springframework-developer mailing list
> >>> Spr...@li...
> >>> https://lists.sourceforge.net/lists/listinfo/springframework-developer
> >>>
> >>>
> >>>
> >>
> >>
> >>
> >> -------------------------------------------------------
> >> SF email is sponsored by - The IT Product Guide
> >> Read honest & candid reviews on hundreds of IT Products from real users.
> >> Discover which products truly live up to the hype. Start reading now.
> >> http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
> >> _______________________________________________
> >> Springframework-developer mailing list
> >> Spr...@li...
> >> https://lists.sourceforge.net/lists/listinfo/springframework-developer
> >>
> >>
> >>
> >>
> >
> >
> > -------------------------------------------------------
> > SF email is sponsored by - The IT Product Guide
> > Read honest & candid reviews on hundreds of IT Products from real users.
> > Discover which products truly live up to the hype. Start reading now.
> > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
> > _______________________________________________
> > Springframework-developer mailing list
> > Spr...@li...
> > https://lists.sourceforge.net/lists/listinfo/springframework-developer
>
> -------------------------------------------------------
> SF email is sponsored by - The IT Product Guide
> Read honest & candid reviews on hundreds of IT Products from real users.
> Discover which products truly live up to the hype. Start reading now.
> http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
> _______________________________________________
> Springframework-developer mailing list
> Spr...@li...
> https://lists.sourceforge.net/lists/listinfo/springframework-developer
>
>
|
|
From: Darren D. <da...@da...> - 2005-02-23 09:09:55
|
On Wed, 2005-02-23 at 07:52 +0000, Darren Davison wrote:
> On Tue, 2005-02-22 at 16:39 -0800, Darren Davison wrote:
> > [/home/users/d/da/davison/checkouts/spring/home/users/d/da/davison/chec=
kouts/spring/target/sparc-solaris1/test-classes/org/springframework/util/te=
stlog4j.properties]
>=20
> obviously some problem with absolute/relative path names in here - this
> will presumably fail on all of the build machines. I haven't looked at
> it - is the problem specific to Unix or does it fail the same way on
> 'Doze?
I don't see how FileSystemResourceLoader can ever return an absolute
file path (at least on unix filesystems) as required by the
testInitLoggingWithAbsoluteFilePathAndRefreshInterval test since it
deliberately strips a leading / thereby always making the path relative.
protected Resource getResourceByPath(String path) {
if (path !=3D null && path.startsWith("/")) {
path =3D path.substring(1);
}
return new FileSystemResource(path);
}
Am I missing something?
--=20
Darren Davison
Public Key: #DD356B0D
|
|
From: Darren D. <da...@da...> - 2005-02-23 08:25:00
|
On Tue, 2005-02-22 at 16:39 -0800, Darren Davison wrote: > [/home/users/d/da/davison/checkouts/spring/home/users/d/da/davison/checko= uts/spring/target/sparc-solaris1/test-classes/org/springframework/util/test= log4j.properties] obviously some problem with absolute/relative path names in here - this will presumably fail on all of the build machines. I haven't looked at it - is the problem specific to Unix or does it fail the same way on 'Doze? Regards, --=20 Darren Davison Public Key: #DD356B0D |
|
From: Scott B. <sco...@ru...> - 2005-02-23 05:05:37
|
Just in case any one else is looking at the example Michael provided,
not only is JmxMBeanAdapter renamed to MBeanExporter, the
MBeanServerFactoryBean is located under support not factory (found that
out the hard way ;-))
Michael, Thomas or Rob. Have you guys seen this error in relation to
the JMX support?:
Feb 23, 2005 12:01:07 AM GenericConnectorServer ClientCreation.run
WARNING: Failed to open connection: java.io.StreamCorruptedException:
invalid st
ream header
java.io.StreamCorruptedException: invalid stream header
at
java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:737
)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:253)
at
com.sun.jmx.remote.socket.SocketConnection$ObjectInputStreamWithLoade
r.<init>(SocketConnection.java:354)
at
com.sun.jmx.remote.socket.SocketConnection.readMessage(SocketConnecti
on.java:204)
at
com.sun.jmx.remote.opt.security.AdminServer.connectionOpen(AdminServe
r.java:76)
at
com.sun.jmx.remote.generic.ServerSynchroMessageConnectionImpl.connect
(ServerSynchroMessageConnectionImpl.java:51)
at
javax.management.remote.generic.GenericConnectorServer$ClientCreation
.run(GenericConnectorServer.java:383)
at
com.sun.jmx.remote.opt.util.ThreadService$ThreadServiceJob.run(Thread
Service.java:208)
at com.sun.jmx.remote.opt.util.JobExecutor.run(JobExecutor.java:59)
I got this on Tomcat 5.0.27 and 5.0.30-beta. I tried to connect using
jconsole in JDK 5 and connecting to a remote server of localhost:9876 (I
also tried on port 10,000)
Thanks
Scott Battaglia
Application Developer, Architecture and Engineering Team
Enterprise Systems and Services, Rutgers University
v: 732.445.0097 | f: 732.445.5493 | sco...@ru...
Michael Schuerig wrote:
>On Tuesday 22 February 2005 21:26, Scott Battaglia wrote:
>
>
>
>>Okay, I'll look for them after the 1.1.5 release then! In the mean
>>time are any of the test cases a good kind of guide to follow? I'm
>>not too familar with JMX so I'm learning JMX and trying to figure out
>>the Spring support at the same time (probably not a good
>>combination).
>>
>>
>
>If all you want to do is expose a Spring bean as an MBean it's actually
>pretty easy and doesn't require any code.
>
>Create an MBeanServer registered as a bean
>
> <bean id="mbeanserver"
> class="org.springframework.jmx.factory.MBeanServerFactoryBean">
> <property name="defaultDomain"><value>MyDomain</value></property>
> </bean>
>
>Wrap an MBean adapter around my repositorymanager bean (not shown),
>which is a completely ordinary java object. In this case, public
>methods are exposed as attributes/operations. Alternatively, metadata
>can be used.
>
> <bean id="mbeanadapter"
> class="org.springframework.jmx.JmxMBeanAdapter">
> <property name="server"><ref local="mbeanserver"/></property>
> <property name="beans">
> <map>
> <entry key="MyDomain:id=Repository">
> <ref bean="repositorymanager"/>
> </entry>
> </map>
> </property>
> </bean>
>
>Create a connector listening, by default, on
>service:jmx:jmxmp://localhost:9876 (this requires
>jmxremote_optional.jar)
>
> <bean id="jmxconnector"
> class="org.springframework.jmx.support.ConnectorServerFactoryBean">
> <property name="server">
> <ref local="mbeanserver" />
> </property>
> <!-- This is the default URL anyway -->
> <property name="serviceUrl">
> <value>service:jmx:jmxmp://localhost:9876</value>
> </property>
> <property name="threaded">
> <value>true</value>
> </property>
> <!-- Ensure the connector thread doesn't keep the
> servlet container running -->
> <property name="daemon">
> <value>true</value>
> </property>
> </bean>
>
>
>HTH,
>Michael
>
>
>
|
|
From: Nick M. <nic...@gm...> - 2005-02-23 04:26:26
|
Chaps, I was just chatting with bob. If you are interested in moving to codehaus, just drop him an email (I expect its bob@codehaus) - he would be happy to help. Cheers, Nick On Tue, 22 Feb 2005 21:09:27 -0500, Dmitriy Kopylenko <dko...@ru...> wrote: > So, codehaus? > > Colin Sampaleanu wrote: > > > I have absolutely zero faith that SF is going to resolve their CVS > > issues any time soon. They started having problems almost 2 years ago, > > were going to resolve things with a bunch of server upgrades scheduled > > for summer '2003, and things never got any better. While to some > > extent I guess you can't complain about something you get for free, I > > think we certainly do have other options. I don't however like the UI > > of java.net, or the one module limitation of their CVS offering.... > > > > > > > > Matthew E.Porter wrote: > > > >> CVS issues at SourceForge.net have been going on for over 2 years. > >> They come and go every few weeks. > >> > >> I remember moving a project to java.net solely because of CVS issues > >> at SF. > >> > >> > >> Cheers, > >> Matthew > >> > >> > >> On Feb 22, 2005, at 12:09 PM, Martin Kersten wrote: > >> > >>>>>>>> the performance of CVS seems so awful I can't even get updates > >>>>>>>> properly now > >>>>>>>> from the SSH servers. Anyone else having difficulty? > >>>>>>> > >>>>>>> > >>>>> > >>>>>>> I always have problems with the CVS > >>>>>> > >>>>>> > >>>>> > >>>>>> at least we're not the only ones. There are loads of recent > >>>>>> support issues > >>>>>> logged https://sourceforge.net/tracker/?group_id=1&atid=200001 - > >>>>>> including one > >>>>>> or two from frustrated users saying they're going to move from SF > >>>>>> if they > >>>>>> don't fix it properly this time or provide subversion instead. > >>>>> > >>>>> > >>>>> > >>>>>> I've now got a completely borked local tree due to several failed > >>>>>> updates this > >>>>>> morning :( > >>>>> > >>>>> > >>>>> > >>>>> How about moving to codehaus.org? :-) > >>>> > >>>> > >>>> I've moved to java.net a while ago because of the CVS issues at > >>>> SF. Haven't really had any issues since moving. java.net does > >>>> kinda suck though because you only get one module per project - > >>>> unlike SF where you get your own CVSROOT. > >>> > >>> > >>> > >>> The codehaus people are great buddies. It isn't a huge site, quite > >>> familiar. :-) And Spring would meet their special focus I guess but > >>> who cares? I guess the SF dudes are tackling this problem right now. > >>> Maybe it is solved this week. I heared that they move some server > >>> but I am not quite sure... . > >>> > >>> > >>> Cheers, > >>> Martin (Kersten) > >>> > >>> > >>> ------------------------------------------------------- > >>> SF email is sponsored by - The IT Product Guide > >>> Read honest & candid reviews on hundreds of IT Products from real > >>> users. > >>> Discover which products truly live up to the hype. Start reading now. > >>> http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > >>> _______________________________________________ > >>> Springframework-developer mailing list > >>> Spr...@li... > >>> https://lists.sourceforge.net/lists/listinfo/springframework-developer > >> > >> > >> > >> > >> > >> ------------------------------------------------------- > >> SF email is sponsored by - The IT Product Guide > >> Read honest & candid reviews on hundreds of IT Products from real users. > >> Discover which products truly live up to the hype. Start reading now. > >> http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > >> _______________________________________________ > >> Springframework-developer mailing list > >> Spr...@li... > >> https://lists.sourceforge.net/lists/listinfo/springframework-developer > > > > > > > > > > > > ------------------------------------------------------- > > SF email is sponsored by - The IT Product Guide > > Read honest & candid reviews on hundreds of IT Products from real users. > > Discover which products truly live up to the hype. Start reading now. > > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > > _______________________________________________ > > Springframework-developer mailing list > > Spr...@li... > > https://lists.sourceforge.net/lists/listinfo/springframework-developer > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer > |
|
From: Colin S. <col...@ex...> - 2005-02-23 03:12:07
|
Andy Depue wrote: >I'm going to add my 2c and just throw in what we do. Our rich client is >modular, in the sense that if a customer pays for a certain module, then they >get that functionality. To easily support this we split each module into its >own .jar. Our goal is that if a module's .jar is on the classpath, then its >"contributions" automatically becomes a part of the application. Our server >creates a WebStart .jnlp for each customer with their particular set of >module .jars setup for their classpath. Yes, this is basically nothing more >than a plugin architecture we are talking about. >So, how do we approach this from a configuration standpoint, seeing that we've >decided to use Spring and Spring-richclient? Basically how Rob has >described. Each module can specify its own Spring configuration file. We >can automatically detect these by requiring all module .jars to have their >Spring config in the same location and with the same name >(META-INF/context.xml). We then pass this into >FileSystemXmlApplicationContext: "classpath*:/META-INF/context.xml" >At this point we have one big ApplicationContext containing all the beans for >all modules. We now need some way to meaningfully and dynamically connect >the various beans together. Modules do not directly reference beans from >each other, because there is no guarantee that a module is going to be >present - meaning I can't do something like this: > ><bean id="modelManager" class="..."> > <property name="modelSources"> > <list> > <ref bean="fooModuleModel"/> > <ref bean="barModuleModel"/> > ... > </list> > </property> ></bean> > >because fooModuleModel and/or barModuleModel might not be present in the >ApplicationContext. So, we implement an idea that is similar in spirit to >"extension points". For each "extension point" we define a simple Java >interface, and then the extension point "stakeholder" will query the >ApplicationContext for beans implementing that interface: > Map modelSources = >BeanFactoryUtils.beansOfTypeIncludingAncestors(getApplicationContext(), >ModelSource.class, false, false); >Which will rake in all beans implementing ModelSource. The interface also >defines a contract that an extension point contributor must implement in >order to meaningfully "contribute" to the extension point. Granted, it would >be nice if Spring provided some automated way to perform this so I wouldn't >have to create dependencies on Spring in my classes (ApplicationContext, >getBeansOfType, etc). >If Spring wanted to automate this "extension point" mechanism such as it >exists in our project, it could provide something like this: > ><bean id="modelManager" class="..."> > <property name="modelSources" extension-point="com.mypackage.ModelSource"/> ></bean> > >Which would automatically build a collection by gathering all beans that >implement the specified interface and injecting the collection into the >"modelSources" property. > > - Andy > >PS In Spring, this whole idea is currently implemented in "recipe" fashion. >IoC containers like HiveMind make the idea a first class citizen. Actually, >we considered HiveMind, but it is not as mature as Spring and doesn't offer >many of the advanced integration constructs of Spring. > > This is an interesting topic (to me anyway). I'm onsite at a client this week so can't really think too much about it, but it'd be nice if this discussion leads to something... |
|
From: Colin S. <col...@ex...> - 2005-02-23 03:02:48
|
In fact, you can need cglib even without using the 'main' aop code, if
you use method injection in the core container...
Rob Harrop wrote:
> Only if you use class proxies. If you stick to JDK proxies you can
> leave CGLIB out.
>
> Rob
>
> Steven Devijver wrote:
>
>> cglib?
>>
>>
>> On Tue, 22 Feb 2005 15:56:04 +0000, Rob Harrop
>> <ro...@ca...> wrote:
>>
>>
>>> Just spring-aop.jar plus the aopalliance.jar. You will need
>>> spring-core.jar if you want to use a BeanFactory.
>>>
>>> Rob
>>>
>>> Steven Devijver wrote:
>>>
>>>
>>>
>>>> And what jars do I require to use the aop part, for example?
>>>>
>>>>
>>>> On Tue, 22 Feb 2005 15:20:55 +0000, Rob Harrop
>>>> <ro...@ca...> wrote:
>>>>
>>>>
>>>>
>>>>
>>>>> Its already split up as core, web, mvc, jdbc, orm and aop.
>>>>>
>>>>> Rob
>>>>>
>>>>> Martin Kersten wrote:
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>>> The distribution comes with different JARs for different
>>>>>>> circumstances, but it might be nice to be able to download them
>>>>>>> separately as well.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> How does web fits the vision of the core framework? It's really an
>>>>>> issue. Would you also like to deliver the rich client platform
>>>>>> and it's dependency also within the framework?
>>>>>>
>>>>>> But downloading the required jars based on the case scenario
>>>>>> the user has would be a great improvement anyways. For my
>>>>>> current research I would like to had the option to get a
>>>>>> web free, jdbc free, jms free, mail free, orm free, remoting free,
>>>>>> transaction free Spring version.
>>>>>>
>>>>>> If I would be in charge I would split it up the following way:
>>>>>>
>>>>>> core, web, j2ee, persistence, later rpc.
>>>>>>
>>>>>>
>>>>>> Cheers,
>>>>>>
>>>>>> Martin (Kersten)
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>> Rob
>>>>>>>
>>>>>>> Martin Kersten wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>>> My thoughts exactly :). We have enough dependencies already.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>> You should break up your framework anyways.
>>>>>>>>
>>>>>>>> You are currently providing a 'Jack of all trades' API. A solution
>>>>>>>> for everything but nothing in particular.
>>>>>>>>
>>>>>>>> Don't get mad :-) Here is what I mean:
>>>>>>>>
>>>>>>>> Spring adapts services for many diffrent situations:
>>>>>>>> You having a web application, fine download the
>>>>>>>> default spring framework,
>>>>>>>> You have a command line application, fine download
>>>>>>>> the default spring framework
>>>>>>>>
>>>>>>>> If it's not in the framework, we dont support it.
>>>>>>>>
>>>>>>>> Thats what I mean. Download the framework and be happy.
>>>>>>>>
>>>>>>>> It's like java, download the SE and you have all the stuff those
>>>>>>>> folks think some (!) people might(!) wanna have.
>>>>>>>>
>>>>>>>> How about making a core framework and having extensions.
>>>>>>>>
>>>>>>>> So you go for a normal application, just download the core
>>>>>>>> framework. You want to go for a web application, download
>>>>>>>> the core framework and download the web extension.
>>>>>>>>
>>>>>>>> You know I am currently trying to get my visions into the RPC
>>>>>>>> sub project. And when you start to develop your own
>>>>>>>> rich client(!) guess what, you have code for setting up a web
>>>>>>>> application right out of the box!
>>>>>>>>
>>>>>>>> Imagen what a relieve it would be for all of you folks to speak
>>>>>>>> about extensions and the core project, manage the dependencies
>>>>>>>> for those individually. Imagen having more then one swing
>>>>>>>> reference
>>>>>>>> documentation. One for the core, one for the web, one for RPC and
>>>>>>>> so on. Boy I would be lucky if I were you :-).
>>>>>>>>
>>>>>>>>
>>>>>>>> Martin (Kersten)
>>>>>>>>
>>>>>>>> PS: Just a hint! ;-)
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>> Erwin Vervaet wrote:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> I think the main reason to use the W3C DOM API directly is to
>>>>>>>>>> avoid the need for an extra dependency (e.g. JDOM) just to parse
>>>>>>>>>> the XML bean definitions. You end up with an "less than elegant"
>>>>>>>>>> implementation in DefaultXmlBeanDefinitionParser, but in this
>>>>>>>>>> case
>>>>>>>>>> the benifits outweigh the costs.
>>>>>>>>>> Erwin Vervaet
>>>>>>>>>> erw...@er... <mailto:erw...@er...>
>>>>>>>>>>
>>>>>>>>>> ----- Original Message -----
>>>>>>>>>> *From:* Martin Kersten
>>>>>>>>>> <mailto:Mar...@St...>
>>>>>>>>>> *To:* spr...@li...
>>>>>>>>>> <mailto:spr...@li...>
>>>>>>>>>> *Sent:* Tuesday, February 22, 2005 1:21 PM
>>>>>>>>>> *Subject:* [Springframework-developer] I don't like the
>>>>>>>>>> DefaultXmlBeanDefinitionParser
>>>>>>>>>>
>>>>>>>>>> Hi folks,
>>>>>>>>>> I am currently trying to extend the framework by supporting
>>>>>>>>>> contributions.
>>>>>>>>>> Just to see how it feels.
>>>>>>>>>> So I made some investigations in the sourcecode. I don't
>>>>>>>>>> want to
>>>>>>>>>> start a war
>>>>>>>>>> about proper design rules, since I am a believer in 'Interface
>>>>>>>>>> belongs to the
>>>>>>>>>> client' stuff and you are appearently not, but this isn't the
>>>>>>>>>> issue I want to
>>>>>>>>>> talk about.
>>>>>>>>>> Th implementation I hate most on first sight is the
>>>>>>>>>> XMLBeanDefinitionParser. I know it does what it should but you
>>>>>>>>>> can
>>>>>>>>>> read this:
>>>>>>>>>> /**
>>>>>>>>>> * Make the horrible DOM API slightly more bearable:
>>>>>>>>>> * get the text value we know this element contains.
>>>>>>>>>> */
>>>>>>>>>> Well I would agree but it's a bit wired also. You think
>>>>>>>>>> the DOM
>>>>>>>>>> API is horrible
>>>>>>>>>> and you are still using it? You know what it means to use a
>>>>>>>>>> horrible API? You write a horrible implementation! And
>>>>>>>>>> thats how
>>>>>>>>>> it looks.
>>>>>>>>>> It took me more then a gaze to catch the meaning of the parser
>>>>>>>>>> and
>>>>>>>>>> I also
>>>>>>>>>> got blown by the code duplication. Since I am in need to
>>>>>>>>>> extend
>>>>>>>>>> this class,
>>>>>>>>>> So I would like to ask if I may refactor it and commit you a
>>>>>>>>>> patch
>>>>>>>>>> (or maybe
>>>>>>>>>> a complete reimplementation)?
>>>>>>>>>> Cheers,
>>>>>>>>>> Martin (Kersten)
>>>>>>>>>> PS: By the way, how about 'Hidding 3rd party library behind
>>>>>>>>>> single
>>>>>>>>>> interface?'
>>>>>>>>>>
>>>>>>>>>> ----- Original Message -----
>>>>>>>>>> *From:* Martin Kersten
>>>>>>>>>> <mailto:Mar...@St...>
>>>>>>>>>> *To:* spr...@li...
>>>>>>>>>> <mailto:spr...@li...>
>>>>>>>>>> *Sent:* Tuesday, February 22, 2005 12:46 PM
>>>>>>>>>> *Subject:* Re: [Springframework-developer] Please check
>>>>>>>>>> these
>>>>>>>>>> two things
>>>>>>>>>>
>>>>>>>>>> Sorry, thought the agreement goes with the callee. Ok :-)
>>>>>>>>>> sorry was a strange day for me, I guess.
>>>>>>>>>> Thanks,
>>>>>>>>>> Martin (Kersten)
>>>>>>>>>> ----- Original Message -----
>>>>>>>>>>
>>>>>>>>>> *From:* Juergen Hoeller
>>>>>>>>>> <mailto:ju...@in...>
>>>>>>>>>> *To:* spr...@li...
>>>>>>>>>>
>>>>>>>>>> <mailto:spr...@li...>
>>>>>>>>>> *Sent:* Tuesday, February 22, 2005 12:13 PM
>>>>>>>>>> *Subject:* Re: [Springframework-developer] Please
>>>>>>>>>> check
>>>>>>>>>> these two things
>>>>>>>>>>
>>>>>>>>>> Actually, I have *not* replaced this with a ==
>>>>>>>>>> comparison
>>>>>>>>>> of the arrays: Instead, BatchSqlUpdate is storing
>>>>>>>>>> clones
>>>>>>>>>> of the passed-in arrays now, for execution on
>>>>>>>>>> flush. This
>>>>>>>>>> avoids any side effects in the first place (even if
>>>>>>>>>> the
>>>>>>>>>> passed-in arrays are changed afterwards or reused for
>>>>>>>>>> multiple update inovcations), and the overhead of
>>>>>>>>>> cloning
>>>>>>>>>> an array should be acceptable (after all, we're
>>>>>>>>>> talking
>>>>>>>>>> about database update operations here).
>>>>>>>>>> Juergen
>>>>>>>>>>
>>>>>>>>>> -----Original Message-----
>>>>>>>>>> *From:*
>>>>>>>>>>
>>>>>>>>>> spr...@li...
>>>>>>>>>>
>>>>>>>>>> [mailto:spr...@li...]*On
>>>>>>>>>>
>>>>>>>>>> Behalf Of *Martin Kersten
>>>>>>>>>> *Sent:* Tuesday, February 22, 2005 12:04 PM
>>>>>>>>>> *To:*
>>>>>>>>>> spr...@li...
>>>>>>>>>> *Subject:* Re: [Springframework-developer] Please
>>>>>>>>>> check these two things
>>>>>>>>>>
>>>>>>>>>> But isn't this bogus thinking? I mean replacing
>>>>>>>>>> .equals with == makes
>>>>>>>>>> the implementation more strickt and reduces
>>>>>>>>>> semantical
>>>>>>>>>> informations.
>>>>>>>>>> We are thinking about objects and there is no
>>>>>>>>>> performance gap
>>>>>>>>>> to justify this modification.
>>>>>>>>>> I wouldn't do it. I just would ensure that equals
>>>>>>>>>> implementations
>>>>>>>>>> start with if(this==object) return true;. How
>>>>>>>>>> huge is
>>>>>>>>>> the estimated
>>>>>>>>>> performance gain?
>>>>>>>>>>
>>>>>>>>>> Cheers,
>>>>>>>>>> Martin (Kersten)
>>>>>>>>>>
>>>>>>>>>> ----- Original Message -----
>>>>>>>>>> *From:* Juergen Hoeller
>>>>>>>>>> <mailto:ju...@in...>
>>>>>>>>>> *To:*
>>>>>>>>>>
>>>>>>>>>> spr...@li...
>>>>>>>>>>
>>>>>>>>>> <mailto:spr...@li...>
>>>>>>>>>>
>>>>>>>>>> *Sent:* Tuesday, February 22, 2005 10:06 AM
>>>>>>>>>> *Subject:* Re: [Springframework-developer]
>>>>>>>>>> Please
>>>>>>>>>> check these two things
>>>>>>>>>>
>>>>>>>>>> Well-spotted!
>>>>>>>>>> ConcurrencyThrottleInterceptor should
>>>>>>>>>> indeed use
>>>>>>>>>> an internal monitor to avoid any potential for
>>>>>>>>>> side effects. I doubt that this has caused any
>>>>>>>>>> issue in practice, but it's nevertheless
>>>>>>>>>> cleaner.
>>>>>>>>>> That check in BatchSqlUpdate is not
>>>>>>>>>> supposed to
>>>>>>>>>> compare the elements but just the array
>>>>>>>>>> reference:
>>>>>>>>>> Repeated update invocations should not pass-in
>>>>>>>>>> the
>>>>>>>>>> same array instance repeatedly, with modified
>>>>>>>>>> elements. Of course, a == check would be
>>>>>>>>>> sufficient for this. I've reworked that part a
>>>>>>>>>> bit
>>>>>>>>>> differently, though: BatchSqlUpdate stores a
>>>>>>>>>> clone
>>>>>>>>>> of the passed-in array now, so there
>>>>>>>>>> shouldn't be
>>>>>>>>>> a need for such a check anymore.
>>>>>>>>>> Juergen
>>>>>>>>>>
>>>>>>>>>> -----Original Message-----
>>>>>>>>>> *From:*
>>>>>>>>>>
>>>>>>>>>> spr...@li...
>>>>>>>>>>
>>>>>>>>>> [mailto:spr...@li...]*On
>>>>>>>>>>
>>>>>>>>>> Behalf Of *Dave Brosius
>>>>>>>>>> *Sent:* Tuesday, February 22, 2005 8:08 AM
>>>>>>>>>> *To:*
>>>>>>>>>>
>>>>>>>>>> spr...@li...
>>>>>>>>>> *Subject:* [Springframework-developer]
>>>>>>>>>> Please
>>>>>>>>>> check these two things
>>>>>>>>>>
>>>>>>>>>> These may be problems, and then again
>>>>>>>>>> maybe
>>>>>>>>>> not. But they seem odd/wrong to me
>>>>>>>>>> 1) In
>>>>>>>>>>
>>>>>>>>>> org.springframework.aop.interceptor.ConcurrencyThrottleInterceptor
>>>>>>>>>>
>>>>>>>>>> in method invoke
>>>>>>>>>> uses wait on 'this'
>>>>>>>>>> In my mind you are exposing your
>>>>>>>>>> synchronization strategies as a public
>>>>>>>>>> artifact, which leaves this class open to
>>>>>>>>>> failure due to client code.
>>>>>>>>>> The client code may unwittingly us an
>>>>>>>>>> instance
>>>>>>>>>> of this class to do it's own
>>>>>>>>>> synchronization,
>>>>>>>>>> and totally screw up this class.
>>>>>>>>>> I would recommend doing synchronizations
>>>>>>>>>> (especially the use of wait/notify) on a
>>>>>>>>>> private member so client code can not
>>>>>>>>>> effect it.
>>>>>>>>>> 2) In
>>>>>>>>>>
>>>>>>>>>> org.springframework.jdbc.object.BatchSqlUpdate
>>>>>>>>>> in method update, you do
>>>>>>>>>> if (!this.parameterQueue.isEmpty() &&
>>>>>>>>>>
>>>>>>>>>> args.equals(this.parameterQueue.getLast())) {
>>>>>>>>>> this is the same as using args ==
>>>>>>>>>> this.parameterQueue.getLast()
>>>>>>>>>> or in other words, are these objects the
>>>>>>>>>> same
>>>>>>>>>> object. I assume you want to compare the
>>>>>>>>>> elements of the array?
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> -------------------------------------------------------
>>>>>>>>> SF email is sponsored by - The IT Product Guide
>>>>>>>>> Read honest & candid reviews on hundreds of IT Products from real
>>>>>>>>> users.
>>>>>>>>> Discover which products truly live up to the hype. Start
>>>>>>>>> reading now.
>>>>>>>>> http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
>>>>>>>>> _______________________________________________
>>>>>>>>> Springframework-developer mailing list
>>>>>>>>> Spr...@li...
>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/springframework-developer
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> -------------------------------------------------------
>>>>>>>> SF email is sponsored by - The IT Product Guide
>>>>>>>> Read honest & candid reviews on hundreds of IT Products from real
>>>>>>>> users.
>>>>>>>> Discover which products truly live up to the hype. Start
>>>>>>>> reading now.
>>>>>>>> http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
>>>>>>>> _______________________________________________
>>>>>>>> Springframework-developer mailing list
>>>>>>>> Spr...@li...
>>>>>>>> https://lists.sourceforge.net/lists/listinfo/springframework-developer
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> -------------------------------------------------------
>>>>>>> SF email is sponsored by - The IT Product Guide
>>>>>>> Read honest & candid reviews on hundreds of IT Products from
>>>>>>> real users.
>>>>>>> Discover which products truly live up to the hype. Start reading
>>>>>>> now.
>>>>>>> http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
>>>>>>> _______________________________________________
>>>>>>> Springframework-developer mailing list
>>>>>>> Spr...@li...
>>>>>>> https://lists.sourceforge.net/lists/listinfo/springframework-developer
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> -------------------------------------------------------
>>>>>> SF email is sponsored by - The IT Product Guide
>>>>>> Read honest & candid reviews on hundreds of IT Products from real
>>>>>> users.
>>>>>> Discover which products truly live up to the hype. Start reading
>>>>>> now.
>>>>>> http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
>>>>>> _______________________________________________
>>>>>> Springframework-developer mailing list
>>>>>> Spr...@li...
>>>>>> https://lists.sourceforge.net/lists/listinfo/springframework-developer
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>> -------------------------------------------------------
>>>>> SF email is sponsored by - The IT Product Guide
>>>>> Read honest & candid reviews on hundreds of IT Products from real
>>>>> users.
>>>>> Discover which products truly live up to the hype. Start reading now.
>>>>> http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
>>>>> _______________________________________________
>>>>> Springframework-developer mailing list
>>>>> Spr...@li...
>>>>> https://lists.sourceforge.net/lists/listinfo/springframework-developer
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>> -------------------------------------------------------
>>>> SF email is sponsored by - The IT Product Guide
>>>> Read honest & candid reviews on hundreds of IT Products from real
>>>> users.
>>>> Discover which products truly live up to the hype. Start reading now.
>>>> http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
>>>> _______________________________________________
>>>> Springframework-developer mailing list
>>>> Spr...@li...
>>>> https://lists.sourceforge.net/lists/listinfo/springframework-developer
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>> -------------------------------------------------------
>>> SF email is sponsored by - The IT Product Guide
>>> Read honest & candid reviews on hundreds of IT Products from real
>>> users.
>>> Discover which products truly live up to the hype. Start reading now.
>>> http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
>>> _______________________________________________
>>> Springframework-developer mailing list
>>> Spr...@li...
>>> https://lists.sourceforge.net/lists/listinfo/springframework-developer
>>>
>>>
>>>
>>
>>
>>
>> -------------------------------------------------------
>> SF email is sponsored by - The IT Product Guide
>> Read honest & candid reviews on hundreds of IT Products from real users.
>> Discover which products truly live up to the hype. Start reading now.
>> http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
>> _______________________________________________
>> Springframework-developer mailing list
>> Spr...@li...
>> https://lists.sourceforge.net/lists/listinfo/springframework-developer
>>
>>
>>
>>
>
>
> -------------------------------------------------------
> SF email is sponsored by - The IT Product Guide
> Read honest & candid reviews on hundreds of IT Products from real users.
> Discover which products truly live up to the hype. Start reading now.
> http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
> _______________________________________________
> Springframework-developer mailing list
> Spr...@li...
> https://lists.sourceforge.net/lists/listinfo/springframework-developer
|
|
From: Dmitriy K. <dko...@ru...> - 2005-02-23 02:09:30
|
So, codehaus? Colin Sampaleanu wrote: > I have absolutely zero faith that SF is going to resolve their CVS > issues any time soon. They started having problems almost 2 years ago, > were going to resolve things with a bunch of server upgrades scheduled > for summer '2003, and things never got any better. While to some > extent I guess you can't complain about something you get for free, I > think we certainly do have other options. I don't however like the UI > of java.net, or the one module limitation of their CVS offering.... > > > > Matthew E.Porter wrote: > >> CVS issues at SourceForge.net have been going on for over 2 years. >> They come and go every few weeks. >> >> I remember moving a project to java.net solely because of CVS issues >> at SF. >> >> >> Cheers, >> Matthew >> >> >> On Feb 22, 2005, at 12:09 PM, Martin Kersten wrote: >> >>>>>>>> the performance of CVS seems so awful I can't even get updates >>>>>>>> properly now >>>>>>>> from the SSH servers. Anyone else having difficulty? >>>>>>> >>>>>>> >>>>> >>>>>>> I always have problems with the CVS >>>>>> >>>>>> >>>>> >>>>>> at least we're not the only ones. There are loads of recent >>>>>> support issues >>>>>> logged https://sourceforge.net/tracker/?group_id=1&atid=200001 - >>>>>> including one >>>>>> or two from frustrated users saying they're going to move from SF >>>>>> if they >>>>>> don't fix it properly this time or provide subversion instead. >>>>> >>>>> >>>>> >>>>>> I've now got a completely borked local tree due to several failed >>>>>> updates this >>>>>> morning :( >>>>> >>>>> >>>>> >>>>> How about moving to codehaus.org? :-) >>>> >>>> >>>> I've moved to java.net a while ago because of the CVS issues at >>>> SF. Haven't really had any issues since moving. java.net does >>>> kinda suck though because you only get one module per project - >>>> unlike SF where you get your own CVSROOT. >>> >>> >>> >>> The codehaus people are great buddies. It isn't a huge site, quite >>> familiar. :-) And Spring would meet their special focus I guess but >>> who cares? I guess the SF dudes are tackling this problem right now. >>> Maybe it is solved this week. I heared that they move some server >>> but I am not quite sure... . >>> >>> >>> Cheers, >>> Martin (Kersten) >>> >>> >>> ------------------------------------------------------- >>> SF email is sponsored by - The IT Product Guide >>> Read honest & candid reviews on hundreds of IT Products from real >>> users. >>> Discover which products truly live up to the hype. Start reading now. >>> http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click >>> _______________________________________________ >>> Springframework-developer mailing list >>> Spr...@li... >>> https://lists.sourceforge.net/lists/listinfo/springframework-developer >> >> >> >> >> >> ------------------------------------------------------- >> SF email is sponsored by - The IT Product Guide >> Read honest & candid reviews on hundreds of IT Products from real users. >> Discover which products truly live up to the hype. Start reading now. >> http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click >> _______________________________________________ >> Springframework-developer mailing list >> Spr...@li... >> https://lists.sourceforge.net/lists/listinfo/springframework-developer > > > > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer |
|
From: Colin S. <col...@ex...> - 2005-02-23 02:06:42
|
I have absolutely zero faith that SF is going to resolve their CVS issues any time soon. They started having problems almost 2 years ago, were going to resolve things with a bunch of server upgrades scheduled for summer '2003, and things never got any better. While to some extent I guess you can't complain about something you get for free, I think we certainly do have other options. I don't however like the UI of java.net, or the one module limitation of their CVS offering.... Matthew E.Porter wrote: > CVS issues at SourceForge.net have been going on for over 2 years. > They come and go every few weeks. > > I remember moving a project to java.net solely because of CVS issues > at SF. > > > Cheers, > Matthew > > > On Feb 22, 2005, at 12:09 PM, Martin Kersten wrote: > >>>>>>> the performance of CVS seems so awful I can't even get updates >>>>>>> properly now >>>>>>> from the SSH servers. Anyone else having difficulty? >>>>>> >>>> >>>>>> I always have problems with the CVS >>>>> >>>> >>>>> at least we're not the only ones. There are loads of recent >>>>> support issues >>>>> logged https://sourceforge.net/tracker/?group_id=1&atid=200001 - >>>>> including one >>>>> or two from frustrated users saying they're going to move from SF >>>>> if they >>>>> don't fix it properly this time or provide subversion instead. >>>> >>>> >>>>> I've now got a completely borked local tree due to several failed >>>>> updates this >>>>> morning :( >>>> >>>> >>>> How about moving to codehaus.org? :-) >>> >>> I've moved to java.net a while ago because of the CVS issues at SF. >>> Haven't really had any issues since moving. java.net does kinda >>> suck though because you only get one module per project - unlike SF >>> where you get your own CVSROOT. >> >> >> The codehaus people are great buddies. It isn't a huge site, quite >> familiar. :-) And Spring would meet their special focus I guess but >> who cares? I guess the SF dudes are tackling this problem right now. >> Maybe it is solved this week. I heared that they move some server >> but I am not quite sure... . >> >> >> Cheers, >> Martin (Kersten) >> >> >> ------------------------------------------------------- >> SF email is sponsored by - The IT Product Guide >> Read honest & candid reviews on hundreds of IT Products from real users. >> Discover which products truly live up to the hype. Start reading now. >> http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click >> _______________________________________________ >> Springframework-developer mailing list >> Spr...@li... >> https://lists.sourceforge.net/lists/listinfo/springframework-developer > > > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer |
|
From: Darren D. <da...@sh...> - 2005-02-23 00:39:56
|
1109119194
FAILED
[junit] Testcase: testEvaluate took 0,002 sec
[junit] Testcase: testEvaluateString took 0,001 sec
[junit] Testcase: testEvaluateInteger took 0,001 sec
[junit] Testcase: testEvaluateBoolean took 0 sec
[junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 0,022 sec
[junit] Testsuite: org.springframework.web.util.HtmlUtilsTests
[junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 0,022 sec
[junit] Testcase: testHtmlEscape took 0 sec
[junit] Testcase: testHtmlUnescape took 0,001 sec
[junit] Tests run: 6, Failures: 0, Errors: 1, Time elapsed: 0,107 sec
[junit] Testsuite: org.springframework.web.util.Log4jWebConfigurerTests
[junit] Tests run: 6, Failures: 0, Errors: 1, Time elapsed: 0,107 sec
[junit] Testcase: testInitLoggingWithClasspath took 0,032 sec
[junit] Testcase: testInitLoggingWithRelativeFilePath took 0,005 sec
[junit] Testcase: testInitLoggingWithAbsoluteFilePath took 0,005 sec
[junit] Testcase: testInitLoggingWithClasspathAndRefreshInterval took 0,006 sec
[junit] Testcase: testInitLoggingWithRelativeFilePathAndRefreshInterval took 0,007 sec
[junit] Testcase: testInitLoggingWithAbsoluteFilePathAndRefreshInterval took 0,015 sec
[junit] Caused an ERROR
[junit] Invalid 'log4jConfigLocation' parameter: Log4J config file [/home/users/d/da/davison/checkouts/spring/home/users/d/da/davison/checkouts/spring/target/sparc-solaris1/test-classes/org/springframework/util/testlog4j.properties] not found
[junit] java.lang.IllegalArgumentException: Invalid 'log4jConfigLocation' parameter: Log4J config file [/home/users/d/da/davison/checkouts/spring/home/users/d/da/davison/checkouts/spring/target/sparc-solaris1/test-classes/org/springframework/util/testlog4j.properties] not found
[junit] at org.springframework.web.util.Log4jWebConfigurer.initLogging(Log4jWebConfigurer.java:153)
[junit] at org.springframework.web.util.Log4jWebConfigurerTests.doTestInitLogging(Log4jWebConfigurerTests.java:78)
[junit] at org.springframework.web.util.Log4jWebConfigurerTests.testInitLoggingWithAbsoluteFilePathAndRefreshInterval(Log4jWebConfigurerTests.java:64)
[junit] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[junit] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[junit] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
This is an automated mail from one of the SF Compile Farm machines.
The machine name noted in the subject encountered a failure building
or running the Spring test suite. The last few lines of the output
were included for info.
NB: No further mail will be sent from this machine until a
manual reset occurs on the cf-shell machine, although builds will
continue as scheduled.
See http://springframework.sourceforge.net/test/ for further
information.
|