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: Steven D. <ste...@gm...> - 2005-01-01 18:48:37
|
Hi, Right now Spring doesn't offer support for dynamic languages. This leads to at least one critical issue and a few minor others one that can be resolved. The issues: + De-serialization of dynamic classes (critical): Say you have a setup with a client and server talking to each other. The client and server both share the same set of .groovy files containing a number of classes. These classes implement java.io.Serializable, have a serial version UID yet cannot be de-serialized. Http invoker uses java.io.ObjectInputStream which implements java de-serialization. ObjectInputStream uses it's own scheme to detect which class loader should be used to create a new instance from the serialized format and doesn't allow you to specify your own class loader. This means ObjectInputStream cannot resolve and http invoker cannot transport dynamic classes. + Instantiation of dynamic classes in the bean factory (nice-to-have): I've looked in the Spring sand box and I'm not sure if there's an implementation in there for creating dynamic classes from the bean factory. Currently you would be able to load for example Groovy classes using the bean factory if you would set a Groovy class loader as the context class loader before creating the Spring bean factory. This approach is not very usable as you would only be able to overwrite the context class loader in a simple java application while it would probably be (a lot) harder to do this in say a servlet container. + Temporarily changing the context class loader (nice-to-have): For some method calls you need to temporarily change the context class loader in order to let for example Hibernate load dynamic classes. Hibernate uses the context class loader to load classes. Temporarily changing the context class loader is required when you want to use dynamic classes as persistent objects. Restoring the original context class loader when the method exits - either on a normal exit or by throwing an exception - is required to not cause class loading problems elsewhere in the application (server). If we are talking about dao's we could easily do this using AOP. If we're talking about LocalSessionFactoryBean we need to do the context class loader switch only for the method afterPropertiesSet. We could also do this using AOP but that's a bit clumsy. Also, using AOP everyone would need to write the method interceptor that does the context class loader switch themselves. The proposed solution: Before I discuss the proposed solution I would like to mention that Groovy and Janino both offer a class loader while Jython and BeanShell (apparently) don't. I say apparently because I don't know Jython and BeanShell that well. The first part of the proposed solution is to create factory beans for Groovy, Janino, ... that load scripts either from the file system or from a string. These factory bean would have as object type java.lang.ClassLoader and are there to declaratively load Groovy or Janino classes. Both the Groovy and Janino take a parent class loader. My experiments using Jetty show that the context class loader retrieved in the scope of the context loader listener can be safely used as a parent class loader while handing requests. The second part of the proposed solution addresses the de-serialization issue. Subclassing ObjectInputStream allows you to overwrite the resolveClass method. This would allow you to use a custom class loader. If Spring would offer such a subclass it would be peanuts to subclass SimpleHttpInvokerRequestExecutor, add a classloader property and overwrite the readRemoteInvocationResult method. The third part of the proposed solution addresses the instantiation of dynamic classes by the bean factory. By adding a classloader attribute to the xml bean definition one would be able to refer to the factories discussed above to specify which classloader Spring should use to load the defined class. I'm not sure how this should be implemented in Spring. In DefaultXmlBeanDefinitionParser the context class loader is passed to the bean definition so this looks like the hook. The custom class loader should be retrieved from the factory, I'm not sure how and where this should be implemented. The fourth part of the proposed solution addresses the temporary switch of context class loaders. It would be nice if Spring would offer a method interceptor that implements this. It would also be nice if a classloader property could be added to a subclass of LocalSessionFactoryBean so that the context class loader could be switched in the afterPropertiesSet method. If we can agree on the importance of dynamic language support in Spring I would be happy to implements parts 1, 2 and 4. Steven |
|
From: Matt R. <li...@ra...> - 2004-12-31 13:39:48
|
On Dec 29, 2004, at 8:53 PM, Ben Alex wrote: > One issue I'd appreciate some comments on is container adapter > deprecation. I know some people use the JBoss container adapter (as > they need to use EJB security as well), but I've not heard of any > usage of the Resin, Tomcat or Jetty adapters. It seems unwise to > maintain a suboptimal (non-portable) approach, especially as pre-1.0.0 > we can deprecate them. While I found it fairly easy to port a container-managed application to use Acegi, I think it's important to keep the container adapters. Mainly to support Servlet 2.2 applications. Using container-managed authentication usually only requires a handful of lines in web.xml and a few more in a server-specific deployment descriptor. This makes me wonder if there's a simpler way to configure Acegi (consolidating filters?). Or maybe defaults can be set in an XML file in the JAR and then overridden if/when necessary? Ordering of filters seems to be a common problem - it'd be great to somehow make this issue go away by consolidating to one or two filters. > Finally, the status of the project is up for discussion. I met Rod a > few days back and we briefly discussed making Acegi Security a formal > Spring subproject. This, coupled with a 1.0.0+ version number, would > make some people and organisations more comfortable using it. What > does the community think of this idea? +1 Matt |
|
From: Thierry T. <te...@ya...> - 2004-12-31 12:12:47
|
Hi everybody, Is there any work about translate the spring reference documentation in french? Thierry ===== Take a look at my blog: http://templth.blogspot.com/ Découvrez le nouveau Yahoo! Mail : 250 Mo d'espace de stockage pour vos mails ! Créez votre Yahoo! Mail sur http://fr.mail.yahoo.com/ |
|
From: Steven D. <ste...@gm...> - 2004-12-31 03:58:42
|
Hi, http invoker uses ObjectInputStream on client and server to deserialize classes. This class relies on a complicated scheme - that apparently isn't documented? - to get a class loader to load the class that has to be deserialized but there is no way you can specify a specific class loader. Specifying a specific class loader is for example required if a class that's being transported is dynamically generated both on the server and the client. It would be nice if Spring would use its own sub class of ObjectInputStream that overwrites the resolveClass method so that the class loader found in Thread.currentThread().getContextClassLoader() is used. This would allow setting a custom class loader through AOP. Steven |
|
From: <jue...@we...> - 2004-12-30 22:24:08
|
I've applied the unnecessary-comma patch and the sandbox-enum patch. = Colin or Alef, can you please apply the documentation spell-checking = patches? =20 Juergen =20 ________________________________ Von: spr...@li... im Auftrag = von Chris Tilden Gesendet: Do 30.12.2004 22:52 An: Spring Framework Developer List Betreff: [Springframework-developer] [PATCH] Spell check and code = cleanup Hi, This is kind of ridiculous to attach so many files...but here goes. I did a spell check on all the reference docs. I fixed some warnings with the last 2 patches. Please see the attached files. Thanks, Chris |
|
From: Chris T. <chr...@gm...> - 2004-12-30 22:16:13
|
Hi,
Does anyone else get a ClassCastException when they run 'ant tests'?
[junit] Testcase: testAutoProxiedLookup took 0.029 sec
[junit] Caused an ERROR
[junit] null
[junit] java.lang.ClassCastException
[junit] at
org.springframework.beans.factory.xml.SPR391LookupMethodWrappedByCglibProxyTests.testAutoProxiedLookup(SPR391LookupMethodWrappedByCglibProxyTests.java:42)
[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)
I have been getting this error since updating from CVS on 12/19/2004.
I know it worked as late as 12/15/2004. Maybe something was changed
between these dates?
I'm using JDK 1.4.2_06 for linux.
$ java -version
java version "1.4.2_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_06-b03)
Java HotSpot(TM) Client VM (build 1.4.2_06-b03, mixed mode)
$ uname -a
Linux flan 2.6.10.041229 #1 Wed Dec 29 09:27:32 PST 2004 i686 GNU/Linux
It also is happening to me with JDK 1.5.0.
$ java -version
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
Java HotSpot(TM) Client VM (build 1.5.0-b64, mixed mode)
Thanks for any help.
Chris
|
|
From: Chris T. <chr...@gm...> - 2004-12-30 21:52:17
|
Hi, This is kind of ridiculous to attach so many files...but here goes. I did a spell check on all the reference docs. I fixed some warnings with the last 2 patches. Please see the attached files. Thanks, Chris |
|
From: <tho...@tr...> - 2004-12-30 18:25:39
|
Eugene, I have updated the link. Thanks. Thomas Quoting Eugene Kuleshov <eu...@md...>: > Thanks Torsten, > > It seems that validator does not complaining on properties without > setters anymore. However new version does is unable to open graph > editor. I've added comments to existing JIRA about this. > > By the way, it would be nice to get updated link to Eclipse IDE > project on Spring home page. > > regards, > Eugene > > > > Spring IDE is moved to a separate SF project > > http://sourceforge.net/projects/springide-eclip > > > > Here you can find a developer version of Spring IDE > > 1.1.0 the closed JIRA issues are belonging to > > http://springide-eclip.sourceforge.net/updatesite/ > > > > This version has some bugs which are fixed in the > > related CVS head. > > > > Before releasing the official version (called 1.1.1) > > I have to fix some bugs in the validator first. But > > currently I'm short of time due to family issues (a > > newborn baby child ;-). > > > > Sorry guys, > > Torsten > > > > --- Eugene Kuleshov <eu...@md...> wrote: > > > > > >>Hi, > >> > >> I'm not sure if it is the righ maillist for this > >>question but I > >>wasn't able to find any other one. > >> > >> I wonder what is the status of Spring-IDE for > >>Eclipse. There is > >>number of annoying bugs in a current release and > >>most of those bugs > >>already closed in JIRA, so if there will be a new > >>release any time soon? > >> > >> Thank you. > >> > >> Eugene > >> > >> > >> > >> > >> > > > > ------------------------------------------------------- > > > >>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://productguide.itmanagersjournal.com/ > >>_______________________________________________ > >>Springframework-developer mailing list > >>Spr...@li... > >> > > > > https://lists.sourceforge.net/lists/listinfo/springframework-developer > > > > > > __________________________________________________ > > Do You Yahoo!? > > Tired of spam? Yahoo! Mail has the best spam protection around > > http://mail.yahoo.com > > > > > > ------------------------------------------------------- > > The SF.Net email is sponsored by: Beat the post-holiday blues > > Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. > > It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt > > _______________________________________________ > > Springframework-developer mailing list > > Spr...@li... > > https://lists.sourceforge.net/lists/listinfo/springframework-developer > > > > ------------------------------------------------------- > The SF.Net email is sponsored by: Beat the post-holiday blues > Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. > It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer > |
|
From: Aliaksandr R. <ara...@gm...> - 2004-12-30 17:55:41
|
Here it is: http://caustic.at.tut.by/yawf-0.0.1.zip I'm not sure about name, I believe that name is the most important thing for any framework. It doesn’t really matter whether a framework is poor if its name sounds good ;) I haven’t chosen any good name yet, but mostly because the framwork doesn't exist yet ;) Steven Devijver wrote: > Hi Aliaksandr, > > Looks nice. Does this framework have a name or shall I just refer to > it as YAWF? :-) > > Can we download a distribution somewhere? > > Steven > > > > On Thu, 30 Dec 2004 16:11:00 +0200, Aliaksandr Radzivanovich > <ara...@gm...> wrote: > >>Hello everybody, you got it right - Yet Another Web Framework ;) >>Everybody loves writing web frameworks, so I do ;))) >>My idea is to annotate POJOs, their methods and arguments with metadata >>to make them web request handlers. I've never heart of this approach >>before, correct me if I'm wrong. Let me explain it in details, let's >>start from example. Take a look at the following snippets of code, pay >>your attention to the javadocs: >> >>Here is declaration of a POJO whose methods will handle web requests: >> >>/** >> * Simple action handler, defines default view name for the action >> * methods that don't specify their own ones. >> * >> * @@web.extensions.ActionSet(defaultViewName="default") >> */ >>public class Simple { >> ... >> >>Here is the method which would handle requests to "/welcome.htm": >> >>/** >> * The simplest method ever, it does not take any parameters nor >> * does it return anything. Returned view name is taken from class >> * annotation. >> * >> * @@web.extensions.ActionHandler("/welcome") >> */ >>public void welcome() { >> // custom code goes here >>} >> >>Here is the method whose arguments are taken from request values. >> >>/** >> * A more advanced example. Method's arguments are taken from the >> * corresponding request's values. Here the <em>userId</em> >> * argument is taken from the <em>uid</em> request's parameter >> * converted to integer. If none is specified then default value is >> * choosen. The <em>username</em> and <em>password</em> arguments >> * are mandatory. >> * >> * @@web.extensions.ActionHandler("/simple/dummylogin") >> * @@.userId web.extensions.ActionParam("uid", defaultValue=0) >> * @@.email web.extensions.ActionParam("eml", required=true) >> * @@.password web.extensions.ActionParam("pwd", required=true) >> */ >>public ModelAndView dummylogin(int userId, String email, String password) { >> // login code goes here >> Map model = new HashMap(); >> model.put("message", "Login successful"); >> return new ModelAndView("default", "model", model); >>} >> >>And fragment of the configuration code: >> >><!-- >> - This bean is an explicit URL mapper that is used by the dispatcher >> - servlet. >> - It is used instead of the default BeanNameUrlHandlerMapping. >> --> >><bean id="urlMapping" >>class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> >> <property name="mappings"> >> <props> >> <prop key="/**/*.htm">controller</prop> >> </props> >> </property> >></bean> >> >><!-- >> - A POJO whose methods will handle web requests. >> --> >><bean id="simple" class="web.extensions.simple.Simple"> >> >></bean> >> >><!-- >> - A Controller dispatching web requests to a POJO. >> --> >><bean id="controller" class="web.extensions.ActionSetController"> >> <property name="actionSet"> >> <ref local="simple"/> >> </property> >></bean> >> >> From my experience complex web applications always have large number of >>methods processing web requests. The methods have to deal with web >>request parameters, but they don't have to handle user form submissions >>and don't require data validation. For example, a server script would >>generate an URL which clicked by user would change web application state >>somehow. Building separate Command objects for every controller method >>would be overkill, dealing with servlet's parameter maps is annoyance. >>This is where metadata comes to help. I believe the example code above >>is a small piece of what can be done with attributes, they can solve >>wider range of problems of web applications. >> >>I've written initial working demo, which is in alpha state now. As >>youmay guess it is Spring's AbstractController implementation. I used >>Apache commons-attributes, because of their compatibility with JDK1.4, >>but JDK1.5 annotations are also possible. >> >>I'd like to ask the community, what do you think about the idea? Do you >>lake it? Does it have any future? Is so, may be it isthe time to >>implement it in some framework? I would appreciate any feedback from you. >> >>Thanks, Alex. >> >>PS >>Happy New 2005 Year!!! >> >> >> >>package web.extensions.simple; >> >>import org.springframework.web.servlet.ModelAndView; >> >>import java.util.HashMap; >>import java.util.Map; >> >>/** >> * Simple action handler, defines default view name for the action >> * methods that don't specify their own ones. >> * >> * @@web.extensions.ActionSet(defaultActionHandler="welcome", >> * defaultViewName="default") >> */ >>public class Simple { >> >> /** >> * The simplest method ever, it does not take any parameters nor >> * does it return anything. Returned view name is taken from class >> * annotation. >> * >> * @@web.extensions.ActionHandler("/welcome") >> */ >> public void welcome() { >> // custom code goes here >> } >> >> /** >> * Simple method, implicitly specifies returned view name in its >> * annotation. >> * >> * @@web.extensions.ActionHandler("/simple/simple1", >> * defaultViewName="view1") >> */ >> public void simple1() { >> // custom code goes here >> } >> >> /** >> * Simple method, exclicitly scpecifies returned view name in the >> * returning string. >> * >> * @@web.extensions.ActionHandler("/simple/simple2") >> */ >> public String simple2() { >> // custom code goes here >> return "view2"; >> } >> >> /** >> * A more complicated method, which returns <em>ModelAndView</em>. >> * >> * @@web.extensions.ActionHandler("/simple/simple3") >> */ >> public ModelAndView simple3() { >> // custom code goes here >> Map model = new HashMap(); >> model.put("message", "Hello World (executing simple3)"); >> return new ModelAndView("view3", "model", model); >> } >> >> /** >> * This action would be invoked when <em>"/simple/action"</em> >> * path is requested and no <em>switch</em> parameter is specified >> * in the request's values. >> * >> * @@web.extensions.ActionHandler("/simple/action") >> * @see #actionSwitchAbc() >> * @see #actionSwitchXyz() >> */ >> public ModelAndView actionDefault() throws Exception { >> Map model = new HashMap(); >> model.put("message", >> "invoking <em>action</em>, the switch parameter is not specified"); >> return new ModelAndView("default", "model", model); >> } >> >> /** >> * An example of a method which would only be invoked if a certain >> * request's parameter has the specified value. This action would >> * be invoked when <em>"/simple/action"</em> path is requested and >> * the <em>switch</em> parameter is <em>abc</em>. >> * >> * @@web.extensions.ActionHandler("/simple/action?switch=abc") >> * @see #actionDefault() >> * @see #actionSwitchXyz() >> */ >> public ModelAndView actionSwitchAbc() throws Exception { >> Map model = new HashMap(); >> model.put("message", >> "invoking <em>action</em>, the switch parameter is 'abc'"); >> return new ModelAndView("default", "model", model); >> } >> >> /** >> * An example of a method which would only be invoked if a certain >> * request's parameter has the specified value. This action would >> * be invoked when <em>"/simple/action"</em> path is requested and >> * the <em>switch</em> parameter is <em>xyz</em>. >> * >> * @@web.extensions.ActionHandler("/simple/action?switch=xyz") >> * @see #actionDefault() >> * @see #actionSwitchAbc() >> */ >> public ModelAndView actionSwitchXyz() throws Exception { >> Map model = new HashMap(); >> model.put("message", >> "invoking <em>action</em>, the switch parameter is 'xyz'"); >> return new ModelAndView("default", "model", model); >> } >> >> /** >> * A more advanced example. Method's arguments are taken from the >> * corresponding request's values. Here the <em>userId</em> >> * argument is taken from the <em>uid</em> request's parameter >> * converted to integer. If none is specified then default one is >> * choosen. The <em>username</em> and <em>password</em> arguments >> * are mandatory. >> * >> * @@web.extensions.ActionHandler("/simple/dummylogin") >> * @@.userId web.extensions.ActionParam("uid", defaultValue=0) >> * @@.email web.extensions.ActionParam("eml", required=true) >> * @@.password web.extensions.ActionParam("pwd", required=true) >> */ >> public ModelAndView dummylogin(int userId, String email, String password) { >> // login code goes here >> Map model = new HashMap(); >> model.put("message", "Login successful"); >> return new ModelAndView("default", "model", model); >> } >> >> /** >> * A counterpart of the {@link Simple#dummylogin(int, String, >> * String) dummylogin} method. >> * >> * @@web.extensions.ActionHandler("/simple/dummylogout") >> */ >> public void dummylogout() { >> // perform logout and redirect to the login view. >> } >> >>} >> >> >> |
|
From: Eugene K. <eu...@md...> - 2004-12-30 17:54:13
|
Thanks Torsten, It seems that validator does not complaining on properties without setters anymore. However new version does is unable to open graph editor. I've added comments to existing JIRA about this. By the way, it would be nice to get updated link to Eclipse IDE project on Spring home page. regards, Eugene > Spring IDE is moved to a separate SF project > http://sourceforge.net/projects/springide-eclip > > Here you can find a developer version of Spring IDE > 1.1.0 the closed JIRA issues are belonging to > http://springide-eclip.sourceforge.net/updatesite/ > > This version has some bugs which are fixed in the > related CVS head. > > Before releasing the official version (called 1.1.1) > I have to fix some bugs in the validator first. But > currently I'm short of time due to family issues (a > newborn baby child ;-). > > Sorry guys, > Torsten > > --- Eugene Kuleshov <eu...@md...> wrote: > > >>Hi, >> >> I'm not sure if it is the righ maillist for this >>question but I >>wasn't able to find any other one. >> >> I wonder what is the status of Spring-IDE for >>Eclipse. There is >>number of annoying bugs in a current release and >>most of those bugs >>already closed in JIRA, so if there will be a new >>release any time soon? >> >> Thank you. >> >> Eugene >> >> >> >> >> > > ------------------------------------------------------- > >>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://productguide.itmanagersjournal.com/ >>_______________________________________________ >>Springframework-developer mailing list >>Spr...@li... >> > > https://lists.sourceforge.net/lists/listinfo/springframework-developer > > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.com > > > ------------------------------------------------------- > The SF.Net email is sponsored by: Beat the post-holiday blues > Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. > It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer |
|
From: Aliaksandr R. <ara...@gm...> - 2004-12-30 17:50:35
|
But hey, where is my original message? I don't see it in this list. I posted the message via 'news.gmane.org' newsgroup. Steven Devijver wrote: > Hi Aliaksandr, > > Looks nice. Does this framework have a name or shall I just refer to > it as YAWF? :-) > > Can we download a distribution somewhere? > > Steven > |
|
From: Torsten J. <tju...@ya...> - 2004-12-30 16:47:06
|
Eugene, Spring IDE is moved to a separate SF project http://sourceforge.net/projects/springide-eclip Here you can find a developer version of Spring IDE 1.1.0 the closed JIRA issues are belonging to http://springide-eclip.sourceforge.net/updatesite/ This version has some bugs which are fixed in the related CVS head. Before releasing the official version (called 1.1.1) I have to fix some bugs in the validator first. But currently I'm short of time due to family issues (a newborn baby child ;-). Sorry guys, Torsten --- Eugene Kuleshov <eu...@md...> wrote: > Hi, > > I'm not sure if it is the righ maillist for this > question but I > wasn't able to find any other one. > > I wonder what is the status of Spring-IDE for > Eclipse. There is > number of annoying bugs in a current release and > most of those bugs > already closed in JIRA, so if there will be a new > release any time soon? > > Thank you. > > Eugene > > > > > ------------------------------------------------------- > 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://productguide.itmanagersjournal.com/ > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com |
|
From: Steven D. <ste...@gm...> - 2004-12-30 16:13:14
|
Hi Aliaksandr,
Looks nice. Does this framework have a name or shall I just refer to
it as YAWF? :-)
Can we download a distribution somewhere?
Steven
On Thu, 30 Dec 2004 16:11:00 +0200, Aliaksandr Radzivanovich
<ara...@gm...> wrote:
> Hello everybody, you got it right - Yet Another Web Framework ;)
> Everybody loves writing web frameworks, so I do ;)))
> My idea is to annotate POJOs, their methods and arguments with metadata
> to make them web request handlers. I've never heart of this approach
> before, correct me if I'm wrong. Let me explain it in details, let's
> start from example. Take a look at the following snippets of code, pay
> your attention to the javadocs:
>
> Here is declaration of a POJO whose methods will handle web requests:
>
> /**
> * Simple action handler, defines default view name for the action
> * methods that don't specify their own ones.
> *
> * @@web.extensions.ActionSet(defaultViewName="default")
> */
> public class Simple {
> ...
>
> Here is the method which would handle requests to "/welcome.htm":
>
> /**
> * The simplest method ever, it does not take any parameters nor
> * does it return anything. Returned view name is taken from class
> * annotation.
> *
> * @@web.extensions.ActionHandler("/welcome")
> */
> public void welcome() {
> // custom code goes here
> }
>
> Here is the method whose arguments are taken from request values.
>
> /**
> * A more advanced example. Method's arguments are taken from the
> * corresponding request's values. Here the <em>userId</em>
> * argument is taken from the <em>uid</em> request's parameter
> * converted to integer. If none is specified then default value is
> * choosen. The <em>username</em> and <em>password</em> arguments
> * are mandatory.
> *
> * @@web.extensions.ActionHandler("/simple/dummylogin")
> * @@.userId web.extensions.ActionParam("uid", defaultValue=0)
> * @@.email web.extensions.ActionParam("eml", required=true)
> * @@.password web.extensions.ActionParam("pwd", required=true)
> */
> public ModelAndView dummylogin(int userId, String email, String password) {
> // login code goes here
> Map model = new HashMap();
> model.put("message", "Login successful");
> return new ModelAndView("default", "model", model);
> }
>
> And fragment of the configuration code:
>
> <!--
> - This bean is an explicit URL mapper that is used by the dispatcher
> - servlet.
> - It is used instead of the default BeanNameUrlHandlerMapping.
> -->
> <bean id="urlMapping"
> class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
> <property name="mappings">
> <props>
> <prop key="/**/*.htm">controller</prop>
> </props>
> </property>
> </bean>
>
> <!--
> - A POJO whose methods will handle web requests.
> -->
> <bean id="simple" class="web.extensions.simple.Simple">
>
> </bean>
>
> <!--
> - A Controller dispatching web requests to a POJO.
> -->
> <bean id="controller" class="web.extensions.ActionSetController">
> <property name="actionSet">
> <ref local="simple"/>
> </property>
> </bean>
>
> From my experience complex web applications always have large number of
> methods processing web requests. The methods have to deal with web
> request parameters, but they don't have to handle user form submissions
> and don't require data validation. For example, a server script would
> generate an URL which clicked by user would change web application state
> somehow. Building separate Command objects for every controller method
> would be overkill, dealing with servlet's parameter maps is annoyance.
> This is where metadata comes to help. I believe the example code above
> is a small piece of what can be done with attributes, they can solve
> wider range of problems of web applications.
>
> I've written initial working demo, which is in alpha state now. As
> youmay guess it is Spring's AbstractController implementation. I used
> Apache commons-attributes, because of their compatibility with JDK1.4,
> but JDK1.5 annotations are also possible.
>
> I'd like to ask the community, what do you think about the idea? Do you
> lake it? Does it have any future? Is so, may be it isthe time to
> implement it in some framework? I would appreciate any feedback from you.
>
> Thanks, Alex.
>
> PS
> Happy New 2005 Year!!!
>
>
>
> package web.extensions.simple;
>
> import org.springframework.web.servlet.ModelAndView;
>
> import java.util.HashMap;
> import java.util.Map;
>
> /**
> * Simple action handler, defines default view name for the action
> * methods that don't specify their own ones.
> *
> * @@web.extensions.ActionSet(defaultActionHandler="welcome",
> * defaultViewName="default")
> */
> public class Simple {
>
> /**
> * The simplest method ever, it does not take any parameters nor
> * does it return anything. Returned view name is taken from class
> * annotation.
> *
> * @@web.extensions.ActionHandler("/welcome")
> */
> public void welcome() {
> // custom code goes here
> }
>
> /**
> * Simple method, implicitly specifies returned view name in its
> * annotation.
> *
> * @@web.extensions.ActionHandler("/simple/simple1",
> * defaultViewName="view1")
> */
> public void simple1() {
> // custom code goes here
> }
>
> /**
> * Simple method, exclicitly scpecifies returned view name in the
> * returning string.
> *
> * @@web.extensions.ActionHandler("/simple/simple2")
> */
> public String simple2() {
> // custom code goes here
> return "view2";
> }
>
> /**
> * A more complicated method, which returns <em>ModelAndView</em>.
> *
> * @@web.extensions.ActionHandler("/simple/simple3")
> */
> public ModelAndView simple3() {
> // custom code goes here
> Map model = new HashMap();
> model.put("message", "Hello World (executing simple3)");
> return new ModelAndView("view3", "model", model);
> }
>
> /**
> * This action would be invoked when <em>"/simple/action"</em>
> * path is requested and no <em>switch</em> parameter is specified
> * in the request's values.
> *
> * @@web.extensions.ActionHandler("/simple/action")
> * @see #actionSwitchAbc()
> * @see #actionSwitchXyz()
> */
> public ModelAndView actionDefault() throws Exception {
> Map model = new HashMap();
> model.put("message",
> "invoking <em>action</em>, the switch parameter is not specified");
> return new ModelAndView("default", "model", model);
> }
>
> /**
> * An example of a method which would only be invoked if a certain
> * request's parameter has the specified value. This action would
> * be invoked when <em>"/simple/action"</em> path is requested and
> * the <em>switch</em> parameter is <em>abc</em>.
> *
> * @@web.extensions.ActionHandler("/simple/action?switch=abc")
> * @see #actionDefault()
> * @see #actionSwitchXyz()
> */
> public ModelAndView actionSwitchAbc() throws Exception {
> Map model = new HashMap();
> model.put("message",
> "invoking <em>action</em>, the switch parameter is 'abc'");
> return new ModelAndView("default", "model", model);
> }
>
> /**
> * An example of a method which would only be invoked if a certain
> * request's parameter has the specified value. This action would
> * be invoked when <em>"/simple/action"</em> path is requested and
> * the <em>switch</em> parameter is <em>xyz</em>.
> *
> * @@web.extensions.ActionHandler("/simple/action?switch=xyz")
> * @see #actionDefault()
> * @see #actionSwitchAbc()
> */
> public ModelAndView actionSwitchXyz() throws Exception {
> Map model = new HashMap();
> model.put("message",
> "invoking <em>action</em>, the switch parameter is 'xyz'");
> return new ModelAndView("default", "model", model);
> }
>
> /**
> * A more advanced example. Method's arguments are taken from the
> * corresponding request's values. Here the <em>userId</em>
> * argument is taken from the <em>uid</em> request's parameter
> * converted to integer. If none is specified then default one is
> * choosen. The <em>username</em> and <em>password</em> arguments
> * are mandatory.
> *
> * @@web.extensions.ActionHandler("/simple/dummylogin")
> * @@.userId web.extensions.ActionParam("uid", defaultValue=0)
> * @@.email web.extensions.ActionParam("eml", required=true)
> * @@.password web.extensions.ActionParam("pwd", required=true)
> */
> public ModelAndView dummylogin(int userId, String email, String password) {
> // login code goes here
> Map model = new HashMap();
> model.put("message", "Login successful");
> return new ModelAndView("default", "model", model);
> }
>
> /**
> * A counterpart of the {@link Simple#dummylogin(int, String,
> * String) dummylogin} method.
> *
> * @@web.extensions.ActionHandler("/simple/dummylogout")
> */
> public void dummylogout() {
> // perform logout and redirect to the login view.
> }
>
> }
>
>
>
|
|
From: Rob H. <ro...@ca...> - 2004-12-30 16:00:18
|
Juergen/Michael, The JmxMBeanAdapter already has code to unregister all beans from the MBeanServer on shutdown - and provided the JmxMbeanAdapter itself is collectable by the GC then it shouldn't prevent the MBeanServer or any of the beans from being GC'd. If the MBeanServer is provided by the application/servlet container then it wont be GC'd but all beans should be unregistered when the ApplicationContext is destroyed. ConnectorServiceBean should shutdown its connection on destroy - thanks for adding that Juergen. There is an option to start the ConnectorServiceBean in a separate thread and a second option allowing for this thread to be made a daemon. Rob jürgen höller [werk3AT] wrote: >Good points! ConnectionServiceBean should indeed stop its JMXConnectorServer on context shutdown; I've just added a corresponding "destroy" implementation. > >Also, every MBean registered with the MBeanServer by Spring support classes should be unregistered on context shutdown. It looks this already happens, though, in JmxMBeanAdapter... > >I haven't played much with the code yet, so I can't really tell what works and what doesn't. Rob, any insights? > >Juergen > > >________________________________ > >Von: spr...@li... im Auftrag von Michael Schuerig >Gesendet: Mi 29.12.2004 22:43 >An: spr...@li... >Betreff: [Springframework-user] JMX: stopping MBeanServer and Connector > > > > >I've tried to use the JMX support in the sandbox to add manageability to >a web app. In general, I'm impressed how easy this appears to be (after >getting an idea of how the support classes work). I'm not completely >sure I'm using everything in the way it was intended, thus I appreciate >any corrections. The relevant excerpt from the application context is >at below. > >I noticed a couple of things, where I'm not clear, whether I don't >understand them or if there's a real problem lurking: > >- The ConnectorServiceBean needs to be run in a separate daemon thread >or else Tomcat doesn't really quit when told to shut down. > >- On stopping and reloading of a web app, ConnectorServiceBean should >stop its JMXConnectorServer. Otherwise the server port remains in use >and the app can't be started again. > >- What happens to the associated MBeanServer on stopping and reloading >of a web app? It still holds references to MBeans and application >objects/classes. Presumably the MBeanServer needs to shut down in some >way. > >Michael > > > <bean id="mbeanserver" > class="org.springframework.jmx.factory.MBeanServerFactoryBean"> > <property name="defaultDomain"><value>MyDomain</value></property> > </bean> > > <bean id="mbeanadapter" > class="org.springframework.jmx.JmxMBeanAdapter"> > <property name="server"><ref bean="mbeanserver"/></property> > <property name="beans"> > <map> > <entry key="MyDomain:id=MyBean"> > <ref bean="mybean"/> > </entry> > </map> > </property> > </bean> > > <bean id="jmxconnector" > class="org.springframework.jmx.remote.ConnectorServiceBean"> > <property name="server"><ref bean="mbeanserver"/></property> > <property name="serviceUrl"> > <value>service:jmx:jmxmp://localhost:9876</value> > </property> > <property name="threaded"><value>true</value></property> > <property name="daemon"><value>true</value></property> > </bean> > >-- >Michael Schuerig Most people would rather die than think. >mailto:mi...@sc... In fact, they do. >http://www.schuerig.de/michael/ --Bertrand Russell > > >------------------------------------------------------- >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://productguide.itmanagersjournal.com/ >_______________________________________________ >Springframework-user mailing list >Spr...@li... >https://lists.sourceforge.net/lists/listinfo/springframework-user > > > > >------------------------------------------------------- >The SF.Net email is sponsored by: Beat the post-holiday blues >Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. >It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt >_______________________________________________ >Springframework-developer mailing list >Spr...@li... >https://lists.sourceforge.net/lists/listinfo/springframework-developer > > > > |
|
From: Aliaksandr R. <ara...@gm...> - 2004-12-30 14:20:31
|
Hello everybody, you got it right - Yet Another Web Framework ;)
Everybody loves writing web frameworks, so I do ;)))
My idea is to annotate POJOs, their methods and arguments with metadata
to make them web request handlers. I’ve never heart of this approach
before, correct me if I’m wrong. Let me explain it in details, let’s
start from example. Take a look at the following snippets of code, pay
your attention to the javadocs:
Here is declaration of a POJO whose methods will handle web requests:
/**
* Simple action handler, defines default view name for the action
* methods that don't specify their own ones.
*
* @@web.extensions.ActionSet(defaultViewName="default")
*/
public class Simple {
...
Here is the method which would handle requests to "/welcome.htm":
/**
* The simplest method ever, it does not take any parameters nor
* does it return anything. Returned view name is taken from class
* annotation.
*
* @@web.extensions.ActionHandler("/welcome")
*/
public void welcome() {
// custom code goes here
}
Here is the method whose arguments are taken from request values.
/**
* A more advanced example. Method's arguments are taken from the
* corresponding request's values. Here the <em>userId</em>
* argument is taken from the <em>uid</em> request's parameter
* converted to integer. If none is specified then default value is
* choosen. The <em>username</em> and <em>password</em> arguments
* are mandatory.
*
* @@web.extensions.ActionHandler("/simple/dummylogin")
* @@.userId web.extensions.ActionParam("uid", defaultValue=0)
* @@.email web.extensions.ActionParam("eml", required=true)
* @@.password web.extensions.ActionParam("pwd", required=true)
*/
public ModelAndView dummylogin(int userId, String email, String password) {
// login code goes here
Map model = new HashMap();
model.put("message", "Login successful");
return new ModelAndView("default", "model", model);
}
And fragment of the configuration code:
<!--
- This bean is an explicit URL mapper that is used by the dispatcher
- servlet.
- It is used instead of the default BeanNameUrlHandlerMapping.
-->
<bean id="urlMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/**/*.htm">controller</prop>
</props>
</property>
</bean>
<!--
- A POJO whose methods will handle web requests.
-->
<bean id="simple" class="web.extensions.simple.Simple">
</bean>
<!--
- A Controller dispatching web requests to a POJO.
-->
<bean id="controller" class="web.extensions.ActionSetController">
<property name="actionSet">
<ref local="simple"/>
</property>
</bean>
From my experience complex web applications always have large number of
methods processing web requests. The methods have to deal with web
request parameters, but they don’t have to handle user form submissions
and don’t require data validation. For example, a server script would
generate an URL which clicked by user would change web application state
somehow. Building separate Command objects for every controller method
would be overkill, dealing with servlet’s parameter maps is annoyance.
This is where metadata comes to help. I believe the example code above
is a small piece of what can be done with attributes, they can solve
wider range of problems of web applications.
I’ve written initial working demo, which is in alpha state now. As
youmay guess it is Spring’s AbstractController implementation. I used
Apache commons-attributes, because of their compatibility with JDK1.4,
but JDK1.5 annotations are also possible.
I’d like to ask the community, what do you think about the idea? Do you
lake it? Does it have any future? Is so, may be it isthe time to
implement it in some framework? I would appreciate any feedback from you.
Thanks, Alex.
PS
Happy New 2005 Year!!!
|
|
From: Steven D. <ste...@gm...> - 2004-12-30 12:23:03
|
Hi Juergen,
Thanks for your feedback. I'll create a JIRA issue to add this to the docs.
Steven
On Thu, 30 Dec 2004 11:30:22 +0100, j=FCrgen h=F6ller [werk3AT]
<jue...@we...> wrote:
> Hi Steven,
>=20
> The main reason why we don't perform auto-detection of implemented interf=
aces there is to avoid opening too many doors. The target object might impl=
ement internal callback interfaces like InitializingBean, DisposableBean, e=
tc which we wouldn't want to expose to callers.
>=20
> Offering a proxy with all interfaces implemented by the target usually do=
esn't matter in the local case. But when exporting a remote service, you sh=
ould expose a specific service interface, with specific operations intended=
for remote usage. Besides internal callback interfaces, the target might i=
mplement multiple business interfaces, with just one of them intended for r=
emote exposure. For these reasons, we *require* such a service interface to=
be specified.
>=20
> I guess it's a tradeoff between configuration convenience and the risk of=
accidental exposure of internal methods... IMO, always specifying a servic=
e interface is not too much effort, and puts you on the safe side regarding=
controlled exposure of specific methods.
>=20
> Juergen
>=20
> ________________________________
>=20
> Von: spr...@li... im Auftrag von=
Steven Devijver
> Gesendet: Do 30.12.2004 03:16
> An: spr...@li...
> Betreff: [Springframework-developer] Re: HttpInvokerProxyFactoryBean ques=
tion
>=20
>=20
> Hi, it's me again :-)
>=20
> What I did is extend the getProxyForService() method of RemoteExporter
> to find the interfaces of the service and create a proxy accordingly
> is no service interface is specified. Here's what I did:
>=20
> protected Object getProxyForService() {
> checkService();
> if (getServiceInterface() !=3D null) {
> return super.getProxyForService();
> } else {
> Class[] interfaces =3D AopUtils.getAllInterfaces(=
getService());
> ProxyFactory proxyFactory =3D new ProxyFactory();
> for (int i =3D 0; i < interfaces.length; i++) {
> proxyFactory.addInterface(interfaces[i]);
> }
> proxyFactory.setTarget(getService());
> return proxyFactory.getProxy();
> }
> }
>=20
> What's the chance of this making it into the source?
>=20
> Steven
>=20
> On Thu, 30 Dec 2004 03:03:26 +0100, Steven Devijver
> <ste...@gm...> wrote:
> > Okay, forget what I said, please :-)
> >
> >
> > On Thu, 30 Dec 2004 02:52:21 +0100, Steven Devijver
> > <ste...@gm...> wrote:
> > > Hi,
> > >
> > > Would it be possible to change the HttpInvokerProxyFactoryBean so tha=
t
> > > it behaves as it does now when a service interface is specifed and
> > > otherwise use:
> > >
> > > serviceObject =3D new ProxyFactory(this).getProxy();
> > >
> > > This way the interfaces implemented by the object are looked up so
> > > they don't to be declared. If I understand correctly it is currently
> > > not possible to expose more than one interface anyway.
> > >
> > > Otherwise, I'm a bit lost by the implementation of the getObjectType(=
)
> > > method. If the above change is made it should look something like
> > > this:
> > >
> > > return (getServiceInterface() !=3D null) ? getServiceInterface() :
> > > this.serviceProxy.getClass();
> > >
> > > Steven
> > >
> >
>=20
>=20
> -------------------------------------------------------
> The SF.Net email is sponsored by: Beat the post-holiday blues
> Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
> It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
> _______________________________________________
> Springframework-developer mailing list
> Spr...@li...
> https://lists.sourceforge.net/lists/listinfo/springframework-developer
>=20
> -------------------------------------------------------
> The SF.Net email is sponsored by: Beat the post-holiday blues
> Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
> It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
> _______________________________________________
> Springframework-developer mailing list
> Spr...@li...
> https://lists.sourceforge.net/lists/listinfo/springframework-developer
>=20
>
|
|
From: <jue...@we...> - 2004-12-30 10:26:52
|
Hi Steven,
=20
The main reason why we don't perform auto-detection of implemented =
interfaces there is to avoid opening too many doors. The target object =
might implement internal callback interfaces like InitializingBean, =
DisposableBean, etc which we wouldn't want to expose to callers.
=20
Offering a proxy with all interfaces implemented by the target usually =
doesn't matter in the local case. But when exporting a remote service, =
you should expose a specific service interface, with specific operations =
intended for remote usage. Besides internal callback interfaces, the =
target might implement multiple business interfaces, with just one of =
them intended for remote exposure. For these reasons, we *require* such =
a service interface to be specified.
=20
I guess it's a tradeoff between configuration convenience and the risk =
of accidental exposure of internal methods... IMO, always specifying a =
service interface is not too much effort, and puts you on the safe side =
regarding controlled exposure of specific methods.
=20
Juergen
=20
________________________________
Von: spr...@li... im Auftrag =
von Steven Devijver
Gesendet: Do 30.12.2004 03:16
An: spr...@li...
Betreff: [Springframework-developer] Re: HttpInvokerProxyFactoryBean =
question
Hi, it's me again :-)
What I did is extend the getProxyForService() method of RemoteExporter
to find the interfaces of the service and create a proxy accordingly
is no service interface is specified. Here's what I did:
protected Object getProxyForService() {
checkService();
if (getServiceInterface() !=3D null) {
return super.getProxyForService();
} else {
Class[] interfaces =3D =
AopUtils.getAllInterfaces(getService());
ProxyFactory proxyFactory =3D new =
ProxyFactory();
for (int i =3D 0; i < interfaces.length; i++) {
=
proxyFactory.addInterface(interfaces[i]);
}
proxyFactory.setTarget(getService());
return proxyFactory.getProxy();
}
}
What's the chance of this making it into the source?
Steven
On Thu, 30 Dec 2004 03:03:26 +0100, Steven Devijver
<ste...@gm...> wrote:
> Okay, forget what I said, please :-)
>
>
> On Thu, 30 Dec 2004 02:52:21 +0100, Steven Devijver
> <ste...@gm...> wrote:
> > Hi,
> >
> > Would it be possible to change the HttpInvokerProxyFactoryBean so =
that
> > it behaves as it does now when a service interface is specifed and
> > otherwise use:
> >
> > serviceObject =3D new ProxyFactory(this).getProxy();
> >
> > This way the interfaces implemented by the object are looked up so
> > they don't to be declared. If I understand correctly it is currently
> > not possible to expose more than one interface anyway.
> >
> > Otherwise, I'm a bit lost by the implementation of the =
getObjectType()
> > method. If the above change is made it should look something like
> > this:
> >
> > return (getServiceInterface() !=3D null) ? getServiceInterface() :
> > this.serviceProxy.getClass();
> >
> > Steven
> >
>
-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
Springframework-developer mailing list
Spr...@li...
https://lists.sourceforge.net/lists/listinfo/springframework-developer
|
|
From: <jue...@we...> - 2004-12-30 10:14:26
|
Good points! ConnectionServiceBean should indeed stop its =
JMXConnectorServer on context shutdown; I've just added a corresponding =
"destroy" implementation.
=20
Also, every MBean registered with the MBeanServer by Spring support =
classes should be unregistered on context shutdown. It looks this =
already happens, though, in JmxMBeanAdapter...
=20
I haven't played much with the code yet, so I can't really tell what =
works and what doesn't. Rob, any insights?
=20
Juergen
=20
________________________________
Von: spr...@li... im Auftrag von =
Michael Schuerig
Gesendet: Mi 29.12.2004 22:43
An: spr...@li...
Betreff: [Springframework-user] JMX: stopping MBeanServer and Connector
I've tried to use the JMX support in the sandbox to add manageability to
a web app. In general, I'm impressed how easy this appears to be (after
getting an idea of how the support classes work). I'm not completely
sure I'm using everything in the way it was intended, thus I appreciate
any corrections. The relevant excerpt from the application context is
at below.
I noticed a couple of things, where I'm not clear, whether I don't
understand them or if there's a real problem lurking:
- The ConnectorServiceBean needs to be run in a separate daemon thread
or else Tomcat doesn't really quit when told to shut down.
- On stopping and reloading of a web app, ConnectorServiceBean should
stop its JMXConnectorServer. Otherwise the server port remains in use
and the app can't be started again.
- What happens to the associated MBeanServer on stopping and reloading
of a web app? It still holds references to MBeans and application
objects/classes. Presumably the MBeanServer needs to shut down in some
way.
Michael
<bean id=3D"mbeanserver"
class=3D"org.springframework.jmx.factory.MBeanServerFactoryBean">
<property name=3D"defaultDomain"><value>MyDomain</value></property>
</bean>
<bean id=3D"mbeanadapter"
class=3D"org.springframework.jmx.JmxMBeanAdapter">
<property name=3D"server"><ref bean=3D"mbeanserver"/></property>
<property name=3D"beans">
<map>
<entry key=3D"MyDomain:id=3DMyBean">
<ref bean=3D"mybean"/>
</entry>
</map>
</property>
</bean>
<bean id=3D"jmxconnector"
class=3D"org.springframework.jmx.remote.ConnectorServiceBean">
<property name=3D"server"><ref bean=3D"mbeanserver"/></property>
<property name=3D"serviceUrl">
<value>service:jmx:jmxmp://localhost:9876</value>
</property>
<property name=3D"threaded"><value>true</value></property>
<property name=3D"daemon"><value>true</value></property>
</bean>
--
Michael Schuerig Most people would rather die than think.
mailto:mi...@sc... In fact, they do.
http://www.schuerig.de/michael/ --Bertrand Russell
-------------------------------------------------------
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://productguide.itmanagersjournal.com/
_______________________________________________
Springframework-user mailing list
Spr...@li...
https://lists.sourceforge.net/lists/listinfo/springframework-user
|
|
From: Arto P. <art...@ca...> - 2004-12-30 08:53:31
|
Index: project.properties =================================================================== RCS file: /cvsroot/springframework/spring/project.properties,v retrieving revision 1.65 diff -r1.65 project.properties 128a129,133 > # ------------------------------------------------------------------------ > # repositories > # ------------------------------------------------------------------------ > maven.repo.remote=http://www.ibiblio.org/maven,http://maven-plugins.sf.net/maven > Index: project.xml =================================================================== RCS file: /cvsroot/springframework/spring/project.xml,v retrieving revision 1.57 diff -r1.57 project.xml 467a468,473 > <dependency> > <groupId>maven-plugins</groupId> > <artifactId>maven-findbugs-plugin</artifactId> > <version>0.8.4</version> > <type>plugin</type> > </dependency> |
|
From: Steven D. <ste...@gm...> - 2004-12-30 02:16:16
|
Hi, it's me again :-)
What I did is extend the getProxyForService() method of RemoteExporter
to find the interfaces of the service and create a proxy accordingly
is no service interface is specified. Here's what I did:
protected Object getProxyForService() {
checkService();
if (getServiceInterface() != null) {
return super.getProxyForService();
} else {
Class[] interfaces = AopUtils.getAllInterfaces(getService());
ProxyFactory proxyFactory = new ProxyFactory();
for (int i = 0; i < interfaces.length; i++) {
proxyFactory.addInterface(interfaces[i]);
}
proxyFactory.setTarget(getService());
return proxyFactory.getProxy();
}
}
What's the chance of this making it into the source?
Steven
On Thu, 30 Dec 2004 03:03:26 +0100, Steven Devijver
<ste...@gm...> wrote:
> Okay, forget what I said, please :-)
>
>
> On Thu, 30 Dec 2004 02:52:21 +0100, Steven Devijver
> <ste...@gm...> wrote:
> > Hi,
> >
> > Would it be possible to change the HttpInvokerProxyFactoryBean so that
> > it behaves as it does now when a service interface is specifed and
> > otherwise use:
> >
> > serviceObject = new ProxyFactory(this).getProxy();
> >
> > This way the interfaces implemented by the object are looked up so
> > they don't to be declared. If I understand correctly it is currently
> > not possible to expose more than one interface anyway.
> >
> > Otherwise, I'm a bit lost by the implementation of the getObjectType()
> > method. If the above change is made it should look something like
> > this:
> >
> > return (getServiceInterface() != null) ? getServiceInterface() :
> > this.serviceProxy.getClass();
> >
> > Steven
> >
>
|
|
From: Steven D. <ste...@gm...> - 2004-12-30 02:03:35
|
Okay, forget what I said, please :-) On Thu, 30 Dec 2004 02:52:21 +0100, Steven Devijver <ste...@gm...> wrote: > Hi, > > Would it be possible to change the HttpInvokerProxyFactoryBean so that > it behaves as it does now when a service interface is specifed and > otherwise use: > > serviceObject = new ProxyFactory(this).getProxy(); > > This way the interfaces implemented by the object are looked up so > they don't to be declared. If I understand correctly it is currently > not possible to expose more than one interface anyway. > > Otherwise, I'm a bit lost by the implementation of the getObjectType() > method. If the above change is made it should look something like > this: > > return (getServiceInterface() != null) ? getServiceInterface() : > this.serviceProxy.getClass(); > > Steven > |
|
From: Ben A. <ben...@ac...> - 2004-12-30 01:54:06
|
Scott McCrory wrote: >Ben, > Just curious - what's your approach towards an eventual 1.0 release? I >ask because technical managers, architecture review boards, etc. can >misinterpret sub-1.0 versions as unstable, whereas even Acegi 0.6 most >certainly is not! > Thanks in advance, > Scott > > > Version 0.7.0 introduces the final features that I believe are necessary for a broadly useful enterprise application security framework. I believe most of the code could now be considered mature, except for the newer domain object instance security capabilities. Whilst these new capabilities have only existed for between two and four months, they're potentially HIGHLY useful, well-documented, fully unit tested, and demonstrated in the Contacts sample application. I also know of several real applications where they're being used, so I expect the API to remain fairly stable. By releasing Version 0.7.0 I hope to see the domain object instance security achieve more widespread use, so there can be appropriate confidence in a 1.0.0 release. To a lesser extent it is also intended to test the various new "minor" features added to CVS over the past few months, along with the Mavenised build system. I do not intend to add any new major features prior to a 1.0.0 release. There are several potentially useful areas, but none are critical for most applications and the architecture enables them to be added very easily and safely: * Remember-me functionality. There has been some design ideas put forward, but just not implemented. * Anonymous user functionality. This should be similar to any remember-me approach. People have already implemented solutions to this requirement (see forums). * Maintained and unit tested LDAP provider. There is something in the sandbox and contributions on the forums, but we need tests to add any to core. * Wider support for remoting protocol automatic security propagation. We already offer RMI and HttpInvoker, which covers most Spring Rich users. * Database-sourced ObjectDefinitionSources. Spring itself will be offering database-driven configuration (see sandbox). * Java 5 annotation support. I am waiting to see what happens with Spring core's attributes abstraction, and then use whatever approach follows. * AspectWerks support for domain object instance security. It's easy to do this, but I'd like a similar model to AspectJ where Spring DIs the advice. One issue I'd appreciate some comments on is container adapter deprecation. I know some people use the JBoss container adapter (as they need to use EJB security as well), but I've not heard of any usage of the Resin, Tomcat or Jetty adapters. It seems unwise to maintain a suboptimal (non-portable) approach, especially as pre-1.0.0 we can deprecate them. Finally, the status of the project is up for discussion. I met Rod a few days back and we briefly discussed making Acegi Security a formal Spring subproject. This, coupled with a 1.0.0+ version number, would make some people and organisations more comfortable using it. What does the community think of this idea? Best regards Ben |
|
From: Steven D. <ste...@gm...> - 2004-12-30 01:52:45
|
Hi, Would it be possible to change the HttpInvokerProxyFactoryBean so that it behaves as it does now when a service interface is specifed and otherwise use: serviceObject = new ProxyFactory(this).getProxy(); This way the interfaces implemented by the object are looked up so they don't to be declared. If I understand correctly it is currently not possible to expose more than one interface anyway. Otherwise, I'm a bit lost by the implementation of the getObjectType() method. If the above change is made it should look something like this: return (getServiceInterface() != null) ? getServiceInterface() : this.serviceProxy.getClass(); Steven |
|
From: <al...@jt...> - 2004-12-29 23:40:02
|
<html><head>
<style>
.white { color:#FFFFFF }.index { background-color:#FFFFFF }.index-passed { =
color:#004400 }.index-failed { color:#FF0000; font-weight:bold }.index-head=
er { font-weight:bold }.link { font-family:arial,helvetica,sans-serif; font=
-size:10pt; color:#FFFFFF; text-decoration:none; }.tab-table { margin: 0em =
0em 0.5em 0em; }.tabs { font-family:arial,helvetica,sans-serif; font-size:8=
pt; color:#000000; font-weight:bold; padding: 0em 2em; background-color:#EE=
EEEE; }.tabs-link { color:#000000; text-decoration:none; }.tabs-link:visite=
d { color:#000000; text-decoration:none; }.tabs-selected { font-family:aria=
l,helvetica,sans-serif; font-size:8pt; color:#000000; font-weight:bold; pad=
ding: 0em 2em; }.tabs-selected { border: inset; }.header-title { font-famil=
y:arial,helvetica,sans-serif; font-size:12pt; color:#000000; font-weight:bo=
ld; }.header-label { font-weight:bold; }.header-data { font-family:arial,he=
lvetica,sans-serif; font-size:10pt; color:#000000; }.modifications-data { f=
ont-family:arial,helvetica,sans-serif; font-size:8pt; color:#000000; }.modi=
fications-sectionheader { background-color:#000066; font-family:arial,helve=
tica,sans-serif; font-size:10pt; color:#FFFFFF; }.modifications-oddrow { ba=
ckground-color:#CCCCCC }.modifications-evenrow { background-color:#FFFFCC }=
.changelists-oddrow { background-color:#CCCCCC }.changelists-evenrow { back=
ground-color:#FFFFCC }.changelists-file-spacer { background-color:#FFFFFF }=
.changelists-file-evenrow { background-color:#EEEEEE }.changelists-file-odd=
row { background-color:#FFFFEE }.changelists-file-header { background-color=
:#666666; font-family:arial,helvetica,sans-serif; font-size:8pt; color:#FFF=
FFF; }.compile-data { font-family:arial,helvetica,sans-serif; font-size:8pt=
; color:#000000; }.compile-error-data { font-family:arial,helvetica,sans-se=
rif; font-size:8pt; color:#FF0000; }.compile-warn-data { font-family:arial,=
helvetica,sans-serif; font-size:8pt; color:#CC9900; }.compile-sectionheader=
{ background-color:#000066; font-family:arial,helvetica,sans-serif; font-s=
ize:10pt; color:#FFFFFF; }.distributables-data { font-family:arial,helvetic=
a,sans-serif; font-size:8pt; color:#000000; }.distributables-sectionheader =
{ background-color:#000066; font-family:arial,helvetica,sans-serif; font-si=
ze:10pt; color:#FFFFFF; }.distributables-oddrow { background-color:#CCCCCC =
}.unittests-sectionheader { background-color:#000066; font-family:arial,hel=
vetica,sans-serif; font-size:10pt; color:#FFFFFF; }.unittests-oddrow { back=
ground-color:#CCCCCC }.unittests-data { font-family:arial,helvetica,sans-se=
rif; font-size:8pt; color:#000000; }.unittests-error { font-family:arial,he=
lvetica,sans-serif; font-size:8pt; color:#901090; }.unittests-failure { fon=
t-family:arial,helvetica,sans-serif; font-size:8pt; color:#FF0000; }.checks=
tyle-oddrow { background-color:#CCCCCC }.checkstyle-data { font-family:aria=
l,helvetica,sans-serif; font-size:8pt; color:#000000; }.checkstyle-sectionh=
eader { background-color:#000066; font-family:arial,helvetica,sans-serif; f=
ont-size:10pt; color:#FFFFFF; }
</style>
</head><body>
<p>
<table width=3D"98%" border=3D"0" cellspacing=3D"0" cellpadding=3D"2" align=
=3D"center"><tr><td class=3D"header-title">BUILD COMPLETE - =
build.179</td></tr><tr><td class=3D"header-data"><span class=
=3D"header-label">Date of build: </span>12/30/2004 00:16:53</td></tr><=
tr><td class=3D"header-data"><span class=3D"header-label">Time to build:&nb=
sp;</span>21 minutes 51 seconds</td></tr><tr><td class=3D"header-data"><spa=
n class=3D"header-label">Last changed: </span>12/29/2004 00:55:14</td>=
</tr><tr><td class=3D"header-data"><span class=3D"header-label">Last log en=
try: </span>various minor changes</td></tr></table><p>
<p>
<p>
<table xmlns=3D"http://www.w3.org/TR/html4/strict.dtd" width=3D"98%" border=
=3D"0" cellspacing=3D"0" cellpadding=3D"2" align=3D"center"><tr><td class=
=3D"compile-sectionheader"> Errors/Warnings: (=
6) </td></tr><tr><td><pre class=3D"compile-data">Note: S=
ome input files use or override a deprecated API.<br class=3D"none"/>Note: =
Recompile with -deprecation for details.<br class=3D"none"/>Note: /jteam/bu=
ild2/checkout/spring/spring/mock/org/springframework/mock/web/MockHttpSessi=
on.java uses or overrides a deprecated API.<br class=3D"none"/>Note: Recomp=
ile with -deprecation for details.<br class=3D"none"/>Note: Some input file=
s use or override a deprecated API.<br class=3D"none"/>Note: Recompile with=
-deprecation for details.<br class=3D"none"/></pre></td></tr></table><p>
<table xmlns=3D"http://www.w3.org/TR/html4/strict.dtd" width=3D"98%" border=
=3D"0" cellspacing=3D"0" cellpadding=3D"2" align=3D"center"><tr><td class=
=3D"compile-sectionheader"> Javadoc Errors/War=
nings: (26) </td></tr><tr><td><pre class=3D"compile-data=
">/jteam/build2/checkout/spring/spring/src/org/springframework/jdbc/support=
/lob/OracleLobHandler.java:76: warning - Tag @see: reference not found: ora=
cle.sql.BLOB<br/>/jteam/build2/checkout/spring/spring/src/org/springframewo=
rk/jdbc/support/lob/OracleLobHandler.java:76: warning - Tag @see: reference=
not found: oracle.sql.CLOB<br/>/jteam/build2/checkout/spring/spring/src/or=
g/springframework/jdbc/support/lob/OracleLobHandler.java:115: warning - Tag=
@see: reference not found: oracle.sql.BLOB#DURATION_SESSION<br/>/jteam/bui=
ld2/checkout/spring/spring/src/org/springframework/jdbc/support/lob/OracleL=
obHandler.java:115: warning - Tag @see: reference not found: oracle.sql.BLO=
B#MODE_READWRITE<br/>/jteam/build2/checkout/spring/spring/src/org/springfra=
mework/jdbc/support/lob/OracleLobHandler.java:115: warning - Tag @see: refe=
rence not found: oracle.sql.CLOB#DURATION_SESSION<br/>/jteam/build2/checkou=
t/spring/spring/src/org/springframework/jdbc/support/lob/OracleLobHandler.j=
ava:115: warning - Tag @see: reference not found: oracle.sql.CLOB#MODE_READ=
WRITE<br/>/jteam/build2/checkout/spring/spring/src/org/springframework/jdbc=
/support/lob/OracleLobHandler.java:154: warning - Tag @see: reference not f=
ound: oracle.jdbc.OracleConnection<br/>/jteam/build2/checkout/spring/spring=
/src/org/springframework/jdbc/support/lob/OracleLobHandler.java:164: warnin=
g - Tag @see: reference not found: oracle.sql.BLOB#createTemporary<br/>/jte=
am/build2/checkout/spring/spring/src/org/springframework/jdbc/support/lob/O=
racleLobHandler.java:164: warning - Tag @see: reference not found: oracle.s=
ql.CLOB#createTemporary<br/>/jteam/build2/checkout/spring/spring/src/org/sp=
ringframework/jdbc/support/nativejdbc/JBossNativeJdbcExtractor.java:49: war=
ning - Tag @see: reference not found: org.jboss.resource.adapter.jdbc.Wrapp=
edConnection#getUnderlyingConnection<br/>/jteam/build2/checkout/spring/spri=
ng/src/org/springframework/jdbc/support/nativejdbc/JBossNativeJdbcExtractor=
.java:49: warning - Tag @see: reference not found: org.jboss.resource.adapt=
er.jdbc.WrappedStatement#getUnderlyingStatement<br/>/jteam/build2/checkout/=
spring/spring/src/org/springframework/jdbc/support/nativejdbc/JBossNativeJd=
bcExtractor.java:49: warning - Tag @see: reference not found: org.jboss.res=
ource.adapter.jdbc.WrappedResultSet#getUnderlyingResultSet<br/>/jteam/build=
2/checkout/spring/spring/src/org/springframework/jdbc/support/nativejdbc/We=
bLogicNativeJdbcExtractor.java:45: warning - Tag @see: reference not found:=
weblogic.jdbc.extensions.WLConnection#getVendorConnection<br/>/jteam/build=
2/checkout/spring/spring/src/org/springframework/jdbc/support/nativejdbc/We=
bSphereNativeJdbcExtractor.java:34: warning - Tag @see: reference not found=
: com.ibm.ws.rsadapter.jdbc.WSJdbcConnection<br/>/jteam/build2/checkout/spr=
ing/spring/src/org/springframework/jdbc/support/nativejdbc/WebSphereNativeJ=
dbcExtractor.java:34: warning - Tag @see: reference not found: com.ibm.ws.r=
sadapter.jdbc.WSJdbcUtil#getNativeConnection<br/>/jteam/build2/checkout/spr=
ing/spring/src/org/springframework/jdbc/support/nativejdbc/WebSphereNativeJ=
dbcExtractor.java:34: warning - Tag @see: reference not found: com.ibm.ejs.=
cm.proxy.ConnectionProxy#getPhysicalConnection<br/>/jteam/build2/checkout/s=
pring/spring/src/org/springframework/orm/ibatis/SqlMapClientFactoryBean.jav=
a:170: warning - Tag @see: reference not found: com.ibatis.sqlmap.engine.tr=
ansaction.jdbc.JdbcTransactionConfig<br/>/jteam/build2/checkout/spring/spri=
ng/src/org/springframework/orm/ibatis/SqlMapClientFactoryBean.java:170: war=
ning - Tag @see: reference not found: com.ibatis.sqlmap.engine.transaction.=
jta.JtaTransactionConfig<br/>/jteam/build2/checkout/spring/spring/src/org/s=
pringframework/orm/ibatis/SqlMapClientFactoryBean.java:198: warning - Tag @=
see: reference not found: com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTra=
nsactionConfig<br/>/jteam/build2/checkout/spring/spring/src/org/springframe=
work/orm/ibatis/SqlMapClientFactoryBean.java:198: warning - Tag @see: refer=
ence not found: com.ibatis.sqlmap.engine.transaction.jta.JtaTransactionConf=
ig<br/>/jteam/build2/checkout/spring/spring/src/org/springframework/transac=
tion/jta/WebLogicJtaTransactionManager.java:67: warning - Tag @see: referen=
ce not found: weblogic.transaction.TransactionManager#forceResume<br/>/jtea=
m/build2/checkout/spring/spring/src/org/springframework/transaction/jta/Web=
LogicServerTransactionManagerFactoryBean.java:45: warning - Tag @see: refer=
ence not found: weblogic.transaction.TxHelper#getTransactionManager<br/>/jt=
eam/build2/checkout/spring/spring/src/org/springframework/transaction/jta/W=
ebSphereTransactionManagerFactoryBean.java:47: warning - Tag @see: referenc=
e not found: com.ibm.ws.Transaction.TransactionManagerFactory#getTransactio=
nManager<br/>/jteam/build2/checkout/spring/spring/src/org/springframework/t=
ransaction/jta/WebSphereTransactionManagerFactoryBean.java:47: warning - Ta=
g @see: reference not found: com.ibm.ejs.jts.jta.JTSXA#getTransactionManage=
r<br/>/jteam/build2/checkout/spring/spring/src/org/springframework/transact=
ion/jta/WebSphereTransactionManagerFactoryBean.java:47: warning - Tag @see:=
reference not found: com.ibm.ejs.jts.jta.TransactionManagerFactory#getTran=
sactionManager<br/>/jteam/build2/checkout/spring/spring/src/org/springframe=
work/web/servlet/handler/metadata/PathMap.java:31: warning - @@org.apache.c=
ommons.attributes.Indexed() is an unknown tag.<br/></pre></td></tr></table>=
<p>
<table width=3D"98%" border=3D"0" cellspacing=3D"0" cellpadding=3D"2" align=
=3D"center"><tr><td colspan=3D"4" class=3D"unittests-sectionheader"> =
Unit Tests: (2139) </td></tr><tr><td class=
=3D"unittests-data" colspan=3D"2"> All Tests Pas=
sed </td></tr><tr><td><table width=3D"98%" border=3D=
"0" cellspacing=3D"0" cellpadding=3D"2" align=3D"center"></table></td></tr>=
<tr></tr><tr><td colspan=3D"2"> </td></tr></table><p>
<table width=3D"98%" border=3D"0" cellspacing=3D"1" cellpadding=3D"2" align=
=3D"center"><tr><td colspan=3D"6" class=3D"modifications-sectionheader"> =
Modifications since last build: =
(13) </td></tr><tr class=3D"modifications-evenrow"><td =
class=3D"modifications-data">modified</td><td class=3D"modifications-data">=
jhoeller</td><td class=3D"modifications-data">changelog.txt</td><td class=
=3D"modifications-data">various minor changes</td></tr><tr class=3D"modific=
ations-oddrow"><td class=3D"modifications-data">modified</td><td class=3D"m=
odifications-data">jhoeller</td><td class=3D"modifications-data">lib/readme=
.txt</td><td class=3D"modifications-data">updated to iText 1.1.4 and Jasper=
Reports 0.6.3</td></tr><tr class=3D"modifications-evenrow"><td class=3D"mod=
ifications-data">deleted</td><td class=3D"modifications-data">jhoeller</td>=
<td class=3D"modifications-data">lib/itext/itext-1.02b.jar</td><td class=3D=
"modifications-data">updated to iText 1.1.4</td></tr><tr class=3D"modificat=
ions-oddrow"><td class=3D"modifications-data">added</td><td class=3D"modifi=
cations-data">jhoeller</td><td class=3D"modifications-data">lib/itext/itext=
-1.1.4.jar</td><td class=3D"modifications-data">updated to iText 1.1.4</td>=
</tr><tr class=3D"modifications-evenrow"><td class=3D"modifications-data">m=
odified</td><td class=3D"modifications-data">jhoeller</td><td class=3D"modi=
fications-data">test/org/springframework/ui/jasperreports/DataSourceReport.=
jasper</td><td class=3D"modifications-data">updated to JasperReports 0.6.3<=
/td></tr><tr class=3D"modifications-oddrow"><td class=3D"modifications-data=
">deleted</td><td class=3D"modifications-data">jhoeller</td><td class=3D"mo=
difications-data">lib/jasperreports/jasperreports-0.6.2.jar</td><td class=
=3D"modifications-data">updated to JasperReports 0.6.3</td></tr><tr class=
=3D"modifications-evenrow"><td class=3D"modifications-data">added</td><td c=
lass=3D"modifications-data">jhoeller</td><td class=3D"modifications-data">l=
ib/jasperreports/jasperreports-0.6.3.jar</td><td class=3D"modifications-dat=
a">updated to JasperReports 0.6.3</td></tr><tr class=3D"modifications-oddro=
w"><td class=3D"modifications-data">modified</td><td class=3D"modifications=
-data">jhoeller</td><td class=3D"modifications-data">src/org/springframewor=
k/validation/BindException.java</td><td class=3D"modifications-data">polish=
ing</td></tr><tr class=3D"modifications-evenrow"><td class=3D"modifications=
-data">modified</td><td class=3D"modifications-data">jhoeller</td><td class=
=3D"modifications-data">src/org/springframework/orm/hibernate/LocalSessionF=
actoryBean.java</td><td class=3D"modifications-data">polishing</td></tr><tr=
class=3D"modifications-oddrow"><td class=3D"modifications-data">modified</=
td><td class=3D"modifications-data">jhoeller</td><td class=3D"modifications=
-data">test/org/springframework/web/servlet/DispatcherServletTests.java</td=
><td class=3D"modifications-data">ignore unknown init-params that do not co=
rrespond to bean properties</td></tr><tr class=3D"modifications-evenrow"><t=
d class=3D"modifications-data">modified</td><td class=3D"modifications-data=
">jhoeller</td><td class=3D"modifications-data">test/org/springframework/we=
b/multipart/commons/CommonsMultipartResolverTests.java</td><td class=3D"mod=
ifications-data">ignore unknown init-params that do not correspond to bean =
properties</td></tr><tr class=3D"modifications-oddrow"><td class=3D"modific=
ations-data">modified</td><td class=3D"modifications-data">jhoeller</td><td=
class=3D"modifications-data">src/org/springframework/web/servlet/HttpServl=
etBean.java</td><td class=3D"modifications-data">ignore unknown init-params=
that do not correspond to bean properties</td></tr><tr class=3D"modificati=
ons-evenrow"><td class=3D"modifications-data">modified</td><td class=3D"mod=
ifications-data">jhoeller</td><td class=3D"modifications-data">src/org/spri=
ngframework/web/filter/GenericFilterBean.java</td><td class=3D"modification=
s-data">ignore unknown init-params that do not correspond to bean propertie=
s</td></tr></table><p>
<table width=3D"98%" border=3D"0" cellspacing=3D"0" cellpadding=3D"2" align=
=3D"center"><tr><td class=3D"distributables-sectionheader"> =
Deployments by this build: (16) </td>=
</tr><tr><td class=3D"distributables-data">Building jar: /jteam/build2/chec=
kout/spring/spring/dist/spring-core.jar</td></tr><tr class=3D"distributable=
s-oddrow"><td class=3D"distributables-data">Building jar: /jteam/build2/che=
ckout/spring/spring/dist/spring-aop.jar</td></tr><tr><td class=3D"distribut=
ables-data">Building jar: /jteam/build2/checkout/spring/spring/dist/spring-=
context.jar</td></tr><tr class=3D"distributables-oddrow"><td class=3D"distr=
ibutables-data">Building jar: /jteam/build2/checkout/spring/spring/dist/spr=
ing-dao.jar</td></tr><tr><td class=3D"distributables-data">Building jar: /j=
team/build2/checkout/spring/spring/dist/spring-orm.jar</td></tr><tr class=
=3D"distributables-oddrow"><td class=3D"distributables-data">Building jar: =
/jteam/build2/checkout/spring/spring/dist/spring-web.jar</td></tr><tr><td c=
lass=3D"distributables-data">Building jar: /jteam/build2/checkout/spring/sp=
ring/dist/spring-webmvc.jar</td></tr><tr class=3D"distributables-oddrow"><t=
d class=3D"distributables-data">Building jar: /jteam/build2/checkout/spring=
/spring/dist/spring.jar</td></tr><tr><td class=3D"distributables-data">Buil=
ding jar: /jteam/build2/checkout/spring/spring/dist/spring-mock.jar</td></t=
r><tr class=3D"distributables-oddrow"><td class=3D"distributables-data">Bui=
lding war: /jteam/build2/checkout/spring/spring/autobuilds/apps/buildtest/d=
ist/buildtest.war</td></tr><tr><td class=3D"distributables-data">Building w=
ar: /jteam/build2/checkout/spring/spring/autobuilds/apps/buildtest/dist/bui=
ldtest.war</td></tr><tr class=3D"distributables-oddrow"><td class=3D"distri=
butables-data">Building war: /jteam/build2/checkout/spring/spring/autobuild=
s/apps/buildtest/dist/buildtest.war</td></tr><tr><td class=3D"distributable=
s-data">Building jar: /jteam/build2/checkout/spring/spring/autobuilds/apps/=
jpetstore/war/WEB-INF/lib/jpetstore.jar</td></tr><tr class=3D"distributable=
s-oddrow"><td class=3D"distributables-data">Building war: /jteam/build2/che=
ckout/spring/spring/autobuilds/apps/jpetstore/dist/jpetstore.war</td></tr><=
tr><td class=3D"distributables-data">Building jar: /jteam/build2/checkout/s=
pring/spring/autobuilds/apps/jpetstore/war/WEB-INF/lib/jpetstore.jar</td></=
tr><tr class=3D"distributables-oddrow"><td class=3D"distributables-data">Bu=
ilding war: /jteam/build2/checkout/spring/spring/autobuilds/apps/jpetstore/=
dist/jpetstore.war</td></tr></table>
</body></html> |
|
From: Eugene K. <eu...@md...> - 2004-12-28 21:33:45
|
Hi, I'm not sure if it is the righ maillist for this question but I wasn't able to find any other one. I wonder what is the status of Spring-IDE for Eclipse. There is number of annoying bugs in a current release and most of those bugs already closed in JIRA, so if there will be a new release any time soon? Thank you. Eugene |