-
Notifications
You must be signed in to change notification settings - Fork 3
/
changelog.txt
418 lines (341 loc) · 24.3 KB
/
changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
JROUTER CHANGELOG
==========================
https://jrouter.net/
Changes in version 1.8.7 (2024-01-28)
* 完善代码格式、注释及文档。
* 更新依赖组件spring至 5.3.31.
* 更新依赖组件javassist至 3.30.2-GA.
* 更新其他依赖组件。
Changes in version 1.8.6 (2023-04-08)
* 修正注释及文档。
* 更新依赖包spring至 5.3.26.
* 更新JDK依赖版本1.8。
Changes in version 1.8.5 (2022-05-08)
* 修正注释及文档。
* 更新依赖包slf4j至 1.7.36.
Changes in version 1.8.4 (2020-11-28)
* ActionInvocation接口新增getPathParameters方法获取Action路径匹配的键值映射。
* 重构PathActionInvocation变量actionPathParameters为pathParameters。
* 修正ConverterFactory接口参数。
Changes in version 1.8.3 (2020-04-25)
* 新增PathActionFactory.StringPathGenerator内部类,提供路径生成。
* AbstractActionFactory.Properties新增afterPropertiesSet方法提供默认值的加载。
* 完善测试用例。
Changes in version 1.8.2 (2019-12-08)
* 新增ActionFactoryAware接口,提供设置ActionFactory对象。
* 完善AbstractActionFactory、PathActionFactory,提供属性对象获取ActionFactory对象。
Changes in version 1.8.1 (2019-07-06)
* 重新设计@InterceptorStack注解类,根据匹配路径配置Action的拦截器。
* 废弃在@Namespace和@Action上指定特定的拦截器集合,减少设计复杂度。
* 规范代码格式。
* 完善测试用例。
Changes in version 1.8.0 (2019-04-05)
* 重构包名jrouter为net.jrouter。
* 修正MultiParameterConverter#convert方法的参数匹配逻辑。
* 修正DefaultProxy#invoke关于变长参数不正确的操作。
* 完善测试用例。
Changes in version 1.7.7 (2019-01-30)
* 新增PathGenerator接口,抽象方法路径生成器。
* ActionProxy接口新增获取getMethod方法;废弃getMethodInfo方法。
* ActionFactory接口新增getPathGenerator方法获取PathGenerator。
* 完善Invoker接口,新增Method参数。
* PathActionFactory.Properties新增pathGenerator变量,提供默认String返回类型的PathGenerator实现。
* 重构PathActionFactory,移动buildActionPath方法至PathActionFactory.Properties类内部。
* 完善测试用例。
* 更新可选依赖包springframework至 4.3.22.
Changes in version 1.7.6 (2018-08-18)
* 修正ActionFilter接口参数。
* ActionFactory接口新增getActionFilter方法获取ActionFilter。
* 新增ActionInvocationDelegate代理类方便继承扩展。
* 修正AbstractActionFactory/PathActionFactory/ColonString构造方法,提炼Properties对象。
* 废弃@Action上的的results方法,不建议配置Action的特定结果。
* 根据PMD规范代码。
* 更新可选依赖包springframework至 4.3.18.
Changes in version 1.7.5 (2018-02-01)
* 调整代码,要求Java 1.7+.
* 调整PathActionFactory/AbstractActionFactory属性;修改路径后缀属性(extension)的默认值为null。
* 重构PathActionFactory,修正invokeResult(...)方法处理返回结果值;并提供默认结果类型处理。
* 新增PathActionFactory.ColonString内部类,提供特定字符串结果的处理。
* 完善PathActionFactory,新增getNamespace(...)方法,用于子类继承提供自定义的Namespace。
* 完善AbstractActionFactory,新增默认ActionFilter实现。
* 重构MethodInvokerFactory的newInstance方法,新增Class参数;修正相应实现类。
* 完善JavassistMethodInvokerFactory动态生成类的名称。
* 新增lombok包优化代码结构。
* 完善PathActionFactory.ColonString类属性功能测试。
Changes in version 1.7.4 (2017-09-06)
* 修正ClassScanner扫描Class时,忽略不存在的Class。
* 新增ActionFilter接口,提供转换自定义注解类至@Action。
* PathActionFactory类新增actionFilter属性,用以加载ActionFilter实现。
* 优化日志(LOG)输出。
* 新增RequestMappingActionFilter测试类,实现@RequestMapping转换至@Action。
* 完善PathActionFactory类actionFilter属性功能测试。
* 更新依赖包slf4j至 1.7.25.
* 更新可选依赖包springframework至 4.3.10.
Changes in version 1.7.3 (2017-01-06)
* 更新版本jrouter 1.7.3, 更新pom.xml.
* ActionFactory/ActionInvocation/ActionProxy抽象化Action调用路径,修改参数String类型为泛型。
* 新增ObjectFactory接口方法getClass(...),提供查找Class类型(原对象可能被代理)。
* 新增AbstractActionFactory抽象基类,方便继承扩展。
* 新增PathActionFactory,废弃DefaultActionFactory。
* 重命名DefaultActionInvocation为PathActionInvocation。
* 重命名DefaultActionProxy为PathActionProxy。
* 更新依赖包slf4j至 1.7.22.
* 更新可选依赖包javassist至 3.21.0-GA.
* 更新可选依赖包springframework至 4.3.4.
Changes in version 1.7.2 (2016-08-04)
* 重命名Proxy接口为Invoker,避免于ActionProxy、AbstractProxy名称歧义。
* 重命名ProxyFactory接口为MethodInvokerFactory。
* 修正jrouter.bytecode.javassist包中的的类名。
* 新增JavassistMethodChecker类,根据底层方法解析匹配指定字符串的方法检查器。
* 配置jrouter.properties新增interceptorMethodChecker属性;检查interceptor方法体,匹配指定的字符串。
* 修改MultiParameterConverter中追加参数匹配算法,同类型参数依顺序匹配。
* 完善测试用例MultiParameterConverterTest。
* 更新依赖包slf4j至 1.7.21.
* 更新依赖包springframework至 4.3.2.
Changes in version 1.7.1 (2016-02-22)
---------------------------------------
* @Action新增value()方法,等同于name(),当仅需要name属性时提供便捷的注解方式。
* 修改@Action的name(),可多个路径映射同一个Aciton。
* 更新ActionInvocation#getActionProxy().getPath()可能返回带参数的动态路径,而非真实调用路径。新增getActionPath()方法,返回Aciton调用的真实路径;
* 更新DefaultActionInvocation,实现getActionPath()方法。
* 修改ActionProxy接口,提供getObject()方法获取原始方法的调用对象(非代理)。
* 完善测试用例SimpleAction、PathTestAction、URLTestAction2。
* 更新依赖包slf4j至 1.7.16.
* 更新依赖包springframework至 4.2.4.
Changes in version 1.7.0 (2015-09-06)
---------------------------------------
* ActionInvocation新增setConvertParameters(...)/getConvertParameters()方法,设置/返回提供给参数转换器的参数。
* 更新DefaultActionInvocation,默认实现setConvertParameters(...)/getConvertParameters()返回自身引用。
* 更新DefaultActionInvocation,invoke(...)和invokeActionOnly(...)方法提供getConvertParameters()参数给转换器。
* 重构ParameterConverter的convert(...)方法,新增Object[] additionalParams参数。
* 废除LastPadParameterFactory,由MultiParameterConverterFactory取代。
* 新增MultiParameterConverterFactory,提供多参数自动映射转换器的工厂类,并默认缓存转换参数匹配的位置。
* 更新DefaultActionFactory,converterFactory属性默认采用MultiParameterConverterFactory实现。
* 删除ThreadContext,不需要线程变量;可由Interceptor替代。并删除相关测试用例。
* 删除DefaultActionFactory的默认不参数构造器,确保子类继承复写。
* 更新DefaultActionFactoryBean,支持泛型方便继承调用。
* 更新DefaultActionFactoryBean,新增createDefaultConfiguration(),setDefaultActionFactoryClass(...),createDefaultObjectFactory(...)方法,方便子类继承复写。
* 新增NotFoundException,标识指定资源不存在时抛出的异常。
* 更新DefaultActionFactory,方法调用时Action、ResultType不存在的情况下抛出NotFoundException。
* 更新DefaultResult的actionForward结果类型名称为"actionForward"。
* 修正测试用例DemoThreadActionContextInterceptor、PathTestAction、PathActionFactoryTest、MultiParameterConverterTest。
* 更新依赖包javassist至 3.20.0-GA.
* 更新依赖包springframework至 4.2.1.
Changes in version 1.6.7 (2015-05-19)
---------------------------------------
* 更新DefaultActionFactory的ActionCache,区分fullPathActionCache和matchedPathActionCache。
* DefaultActionFactory新增buildActionPath(...)方法,提供继承做自定义修改。
* 更新依赖包slf4j至 1.7.12.
* 更新依赖包javassist至 3.19.0-GA.
* 更新依赖包springframework至 4.1.6.
Changes in version 1.6.6 (2014-12-06)
---------------------------------------
* 新增@Dynamic,指示经常需要根据条件创建新对象的接口、类或成员变量。
* 新增ParameterConverter接口,针对底层方法调用参数的转换。
* 新增ConverterFactory接口,生成底层方法调用参数转换器的工厂接口。
* 新增LastPadParameterFactory类,提供追加最后一个参数的转换类及工厂类。
* ActionFactory接口新增getConverterFactory()方法,返回创建方法代理对象的工厂对象。
* ActionInvocation接口新增setParameterConverter()/getParameterConverter()方法,设置/返回Action运行时底层方法参数的转换器。
* ActionInvocation接口新增setResult()方法,设置Action调用完成后将执行的结果对象。
* DefaultActionInvocation新增buildParameterConverterBeforeActionInvocation()方法,通过继承提供在Action调用时传递自定义的参数转换。
* DefaultActionFactory新增converterFactory初始化属性,默认提供LastPadParameterFactory实现。
* 配置jrouter.properties/jrouter.xml文件删除actionInvocationClass属性,添加converterFactory属性。
* 重构AbstractProxy类getMethod()返回底层方法对象,getMethodInfo()返回底层方法的描述信息。
* 废除DefaultActionFactory的actionInvocationClass变量及getActionInvocationClass()方法。
* 废除InterceptorProxy/ResultProxy/ResultTypeProxy的requireAction属性及isRequireAction()方法。
* 完善DefaultActionFactory的converterFactory属性的测试。
* 更新依赖包slf4j至 1.7.7.
* 更新依赖包springframework至 4.1.2.
Changes in version 1.6.5 (2014-02-26)
---------------------------------------
* 加入jrouter.xml配置文件解析错误验证。
* 更新依赖包slf4j至 1.7.6.
* 更新依赖包springframework至 4.0.2.
Changes in version 1.6.4 (2013-08-22)
---------------------------------------
* 更新Configuration,新增afterActionFactoryBuild(...)钩子方法。
* 更新DefaultActionFactoryBean,修改configurationClass类的注入为Configuration对象的注入,与spring更好的集成。
* 更新依赖包javassist至 3.18.0-GA.
* 更新依赖包slf4j至 1.7.5.
Changes in version 1.6.3 (2013-03-03)
---------------------------------------
* 更改DefaultActionFactory添加重复项时输出警告信息为抛出异常。
* 更改DefaultActionFactoryBean新增通过bean及class查找/过滤加载组件。
* 更新依赖包javassist至 3.17.1-GA.
Changes in version 1.6.2 (2012-10-05)
---------------------------------------
* 新增@Ignore,略过所注解方法不做处理。
* @Namespace新增autoIncluded属性。标识是否自动加载public/protected方法,默认不自动加载。
* 修正JavassistProxyFactory类创建代理类方法的返回值处理。
* 更新依赖包slf4j至 1.7.1.
* 更新依赖包logback至 1.0.7.
Changes in version 1.6.1 (2012-08-06)
---------------------------------------
* 新增AopAction类,对应"aop-action"标签属性。
* Configuration类增加parseAop方法,实现对"aop-action"标签的解析。
* 新增AopActionBean类,并于DefaultActionFactoryBean中添加对AopAction的属性配置。
* jrouter-1.6.xsd中去除"aop-interceptor-stack"标签。
* 新增对"aop-action"的测试用例。
* 更新依赖包slf4j至 1.6.6.
* 更新依赖包logback至 1.0.6.
Changes in version 1.6.0 (2012-05-02)
---------------------------------------
* 新增Proxy接口,针对底层方法调用的增强。
* 新增ProxyFactory接口,生成底层方法代理的工厂接口。
* ActionFactory接口中新增getProxyFactory()方法,获取生成底层方法代理的工厂接口。
* 新增bytecode.javassist包,提供基于javassist的字节码增强。
* 更新pom.xml,引入javassist-3.16.1-GA(可选的)。
* DefaultActionFactory新增bytecode初始化属性,提供default基于反射和javassist选项。
* 调整DefaultActionFactory类proxyFactory初始化属性。默认使用javassist增强;若无javassist包引入,则默认使用java反射。
* DefaultProxy类新增Proxy变量,提供底层方法调用的增强。
* DefaultProxy类的invoke(...)方法,捕获所有的Exception封装为InvocationProxyException抛出。
* 调整Injector类的injectAction(...)方法,指定路径的Action的属性包含其类属性。
* 修正InvocationProxyException,新增getSourceInvocationException()方法返回最初的InvocationProxyException。
* 修正DefaultActionFactory的invokeAction(...),抛出异常栈中最初的InvocationProxyException。
* 新增jrouter.properties,jrouter-1.6的ActionFactory初始化属性配置。
Changes in version 1.5.4 (2012-04-02)
---------------------------------------
* jrouter-1.5.xsd,<component-scan>标签去除原有include属性,新增includeExpression和excludeExpression属性,匹配过滤扫描类。
* 引入AntPathMatcher,路径匹配工具。
* 新增ClassScanner,类扫描工具。
* 重构Configuration。配置扫描工具(ClassScanner)属性替换原有包含(scanComponents)/排除(excludePackages)属性。
* 重构DefaultActionFactoryBean。配置扫描属性setClassScannerProperties替换原有setScanPackages和 setClassScannerProperties。
* 修正jrouter-1.5.xml。
* 修正测试配置文件jrouter_autoscan.xml、jrouter-spring_autoscan.xml。
Changes in version 1.5.4-M1 (2012-03-03)
---------------------------------------
* 增强DefaultProxy的invoke(Object...)方法,支持变长参数。
* 引入spring-test的测试包,改进与springframework集成的测试。
Changes in version 1.5.3 (2012-02-02)
---------------------------------------
* 修改StringUtil类,新增isBlank和isNotBlank进行空白值判断。
* 新增LRUMap类,替换DefaultActionFactory原有actionCache的缓存类型。
* 更新Injector的putClassProperties(...)和putActionProperties(...)方法。
* 基于容器启动后数据的一致性,删除DefaultActionFactory的多个set方法。
* 新增DefaultActionFactory类的构造函数<init>(java.util.Map),初始化属性。
* 修改Configuration的加载方法;修改DefaultActionFactoryBean的加载方法。
Changes in version 1.5.2 (2012-01-02)
---------------------------------------
* 重构Configuration类,新增方法buildActionFactory()替代getFactory()。
* 重构DefaultActionFactoryBean类,更好的与springframework集成。
* 更改jrouter-spring.xml内容结构。
Changes in version 1.5.2-M2 (2011-12-24)
---------------------------------------
* 更新依赖包logback至 1.0.0.
* 修改DefaultActionFactory的路径分隔符PATH_SEPARATO为成员变量pathSeparator,默认值仍为'/',不能为' '。
* jrouter.xml中可设置"<action-factory>"的属性pathSeparator值。
* 修正PathTree的添加节点方式,默认覆盖节点原有的值。
* 修正DefaultActionFactory添加Action的方法addAction(DefaultActionProxy ap)。
* 新增Injector的putClassProperties(...)和putActionProperties(...)重载方法。
* 新增Configuration的加载配置load(...)重载方法。
* 修改jrouter-1.5.xsd,新增"<aop-config>"标签。
Changes in version 1.5.2-M1 (2011-10-02)
---------------------------------------
* 更新DefaultActionFactoryBean,新增scanPackages、excludePackages属性配置,自动扫描类并添加为组件。
* 更改StringUtil方法"isNull(...)"为"isEmpty(...)";"isNotNull(...)"为"isNotEmpty(...)"。
Changes in version 1.5.1 (2011-09-03)
---------------------------------------
* 新增接口jrouter.ActionProxy。
* 调整类jrouter.impl.ActionProxy名称为jrouter.impl.DefaultActionProxy,并实现ActionProxy接口。
* 新增ClassUtil工具类,扫描class文件。
* 新增CollectionUtil集合工具类。
* 修改AbstractProxy的方法"getMethodInfo()"为"getMethod()"。
* 调整SpringObjectFactory,可设置springframework属性注入的策略"autowireMode",默认"byName"。
* 新增@Parameter注解类。
* @Action新增parameters,可配置Action初始化参数的键/值(多值)集合。
* 通过ActionProxy接口的getActionParameters、getActionParameter、getActionParameterValues方法获取@Action的parameters。
* jrouter-1.5.xsd中新增"component-scan"元素。
* jrouter-1.5.xml中新增"<component-scan package=... exclude=... />"标签,根据包名自动搜索和加载组件。
* Configuration中新增处理"<component-scan/>"标签方法。
Changes in version 1.5.0 (2011-08-06)
---------------------------------------
* 新增ObjectFactory对象工厂接口。
* ActionFactory中新增getObjectFactory()方法返回创建对象的工厂对象。
* DefaultActionFactory中新增objectFactory变量,并提供默认的对象工厂。
* 新增SpringObjectFactory,提供与springframework的集成;由springframework的工厂对象创建新的对象实例。
* 更新DefaultActionFactoryBean,提供ObjectFactory对象的注入,默认为SpringObjectFactory的实现。
Changes in version 1.5.0-SNAPSHOT (2011-07-30)
---------------------------------------
* 新增jrouter.impl.DefaultProxy类,统一处理调用代理方法时的异常。
* 新增Injector工具类处理简单的属性值注入。
* 原有jrouter.xml变更为jrouter-1.4.xml。
* 新增jrouter-1.5.xml配置结构及jrouter-1.5.xsd结构。新增标签<action-factory>;新增属性标签<property>值注入。
* 调整DefaultActionFactory的变量名"actionsCache"为"actionCache"。
* 调整DefaultActionFactory,Action调用结果的路径信息中包含':'可省略Action中的@Result(name = "*"...)。
* DefaultActionFactory新增"invokeUndefinedResult(...)"扩展方法,处理未匹配的结果字符串。
* 新增接口ActionFactory的"addResults(Object obj)"和"getResults()"方法。
* DefaultActionFactory中新增全局结果对象集合results。
* jrouter-1.5.xml更新结果类型标签<result-type>替换原有<result>,新的<result>标签代表配置全局结果对象。
* 更新Configuration,默认加载jrouter-1.5.xml;不再适配原有jrouter.xml。
* 更新DefaultActionFactoryBean,新增results属性集合,配置全局结果对象集合。
* 更改DefaultActionFactory中路径后缀extension的处理方式,默认截断'.'之后的字符。
* jrouter-1.5配置文件,标签<action>新增子标签<path>,配置指定路径Action的属性注入。
* Injector更新属性注入的方式,主要属于Action所属对象的属性注入。
* 更新ActionFactory接口,去除部分接口方法。
* 更新Configuration中xml配置的处理方式。
* @Action中添加interceptors,可配置指定的拦截器集合。
* @Namespace中添加interceptors,可配置指定的拦截器集合。
* 修改DefaultInterceptorStack中空拦截栈的名称"defalut"为"empty"。
* 修改DefaultResult中空结果类型的名称"default"为"empty"。
Changes in version 1.4.6 (2011-05-23)
---------------------------------------
* @Action无需强制指定name,默认为"",DefaultActionFactory判断为""则设置为其标注方法的名称。
* 新增Action路径全匹配,可使用@Result(name = "*")做字符串结果的非完全匹配。
* DefaultActionFactory类新增"invokeResult(...)"扩展方法处理非完全匹配;默认提供"type:location"格式的路径解析处理。
* DefaultActionFactory类新增"invokeObjectResult(...)"扩展方法。
* DefaultActionFactory类新增"createActionInvocation(...)"扩展方法;默认生成新的DefaultActionInvocation实例。
* DefaultActionFactory类新增actionInvocationClass调用参数限制变量及其"setter"和"getter"方法,修正"createActionProxy(...)"和"createResultTypeProxy(...)"方法。
* jrouter.xsd中新增<xs:enumeration value="actionInvocationClass"/>特殊常量定义。
* jrouter.xml中新增<constant name="actionInvocationClass" value="..." />元素。
* 更新DefaultActionFactoryBean,新增"setActionInvocationClass(...)"。
* 更新DefaultActionFactoryBean,废弃"setClassName(String className)"变更为新增的"setActionFactoryClass(String actionFactoryClass)"方法。
* 更新jrouter-spring.xml配置文件。
* 更新DefaultActionFactory路径分隔符"PATH"变量名称为"PATH_SEPARATOR"。
* 删除DefaultActionFactory的"afterPathCreation(String path)"方法,更改名称为"addExtension(String path)"。
* 新增Action的树结构路径PathTree实现。可使用诸如@Action(name="/*/*/*...)"或@Action(name="/{v1}/{v2}/*...)"的匹配路径。
* 新增树结构路径PathTreeMap实现,适配Map接口。
* DefaultActionInvocation类新增"actionPathParameters"变量,返回调用Action时路径匹配的键值映射。
* 更新DefaultActionFactory的actions集合,"getActions()"返回树路径结构的Map映射。
* 新增DefaultActionFactory中Action路径与代理对象的映射缓存,并控制缓存的最大数目,"getActionsCache()"返回缓存的对象。
* 更新DefaultActionFactoryBean,新增"setActionCacheNumber(...)"。
* bugfix,更正@Action的scope为"PROTOTYPE"时拦截器和结果对象的NPE错误。
Changes in version 1.4.5 (2011-04-08)
---------------------------------------
* 废除接口ActionInvocation中的"setResult(Result result)"方法。
* 修正ActionProxy中拦截器集合变量名称interceptorStack为interceptors,同时修改其"setInterceptors(...)"和"getInterceptors()"方法。
* 新增InvocationProxyException异常类。
* 更新DefaultActionInvocation、ActionProxy、InterceptorProxy、ResultTypeProxy的"invoke(...)"方法,改抛出JRouterException为InvocationProxyException。
* 更新DefaultActionFactory的"invoke(...)"方法。捕获InvocationProxyException异常后,重新封装源异常信息后抛出。
* 修正DefaultResult内置"forward"结果类型的处理方法"actionForward(ActionInvocation invocation)"。
No version 1.4.4 (2011-04-08)
---------------------------------------
Changes in version 1.4.3 (2011-02-01)
---------------------------------------
* jrouter.xsd中新增<xs:enumeration value="extension"/>特殊常量定义。
* 新增Action路径的后缀名称设定。jrouter.xml中新增<constant name="extension" value="..." />元素。
* DefaultActionFactory类新增extension变量及其"setter"和"getter"方法。
* DefaultActionFactory类新增afterPathCreation(String path)扩展方法;默认添加Action生成路径的后缀名称。
* Configuration类增加"afterActionFactoryCreation(ActionFactory<?> factory)"扩展方法,用于ActionFactory特点子类对象的初始化配置。
* 新增与springframework集成包,新增DefaultActionFactoryBean类。
* 新增jrouter-spring.xml配置文件。
* 删除ActionContext类,改名为ThreadContext类。
Changes in version 1.4.2 (2011-01-03)
---------------------------------------
* 更新并修正DefaultActionFactory中"createActionProxy(...)"方法,去除生成Action路径首尾的''和'/'。
* StringUtil中增加"trim(String src, char sep)"方法。
* jrouter.xsd中新增<xs:element ref="include" />常量定义。
* jrouter.xml中新增<include file="..." />元素,允许引入xml配置文件。
* 更新Configuration类处理<include file="..." />机制。
Changes in version 1.4.1 (2010-12-05)
---------------------------------------
* 更新ActionProxy、InterceptorProxy、ResultTypeProxy的方法"invoke(...)"发生异常时封装异常本身,"getCause()"可能为null导致异常信息丢失。
* 更新DefaultActionFactory的方法"invoke(...)"发生异常时封装异常本身,"getCause()"可能为null导致异常信息丢失。
* 删除InvokeException类,更新JRouterException;所有用到的InvokeException改为JRouterException。
* 更新ActionInvocation和DefaultActionInvocation的"invoke(...)"和"invokeActionOnly(...)"方法,由抛出Exception改为抛出jrouterException运行时异常。
Changes in version 1.4 (2010-10-01)
---------------------------------------
* 支持Maven。
* 重写并规范pom.xml文件。
* 更新@Namespace的value为name,使用@Namespace(name="...")。
* 添加线程变量工具ActionContext的"remove()"方法。
* 更新ActionProxy的方法"getNewInstance()"为"getInstance()"。