-
Notifications
You must be signed in to change notification settings - Fork 4
/
changelog.txt
657 lines (525 loc) · 34.2 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
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
SPRING DYNAMIC MODULES FRAMEWORK CHANGELOG
==========================================
http://www.springframework.org/osgi
Changes in version 2.0.0 M2 (2010-mm-dd)
----------------------------------------
General
* upgraded to Felix 2.0.2
* upgraded to Knopflerfish 3.0.0.beta3
* upgraded to CGLib 2.2.0
* removed 'update-strategy' attribute (spring-osgi-compendium.xsd)
* improved timeout schema types to improve declaration validation
* introduced two extra attributes to 'cm-properties' element (spring-osgi-compendium.xsd)
* introduced service-properties to 'managed-service-factory' element (spring-osgi-compendium.xsd)
Package org.springframework.osgi.bundle
* added sticky attribute to ServiceReference annotation
Package org.springframework.osgi.compendium
* improved configuration admin update handling by supporting both container and bean management on the same declaration
* introduced initialization timeout option to cm-properties
* introduced lazy initialization option to cm-properties
* introduced service properties option to managed-service-factory
Package org.springframework.osgi.io
* improved pattern matching against jar entries in the bundle classpath
* fixed pattern matching against packages imported from bundles with custom classpaths
Package org.springframework.osgi.test
* added check for unresolved fragments during test startup
Package org.springframework.osgi.web
* added check to prevent deployed WARs from being redeployed (which can cause problems in some containers)
* serialized web bundles shutdown to prevent early bundle context invalidation
Changes in version 2.0.0 M1 (2009-09-28)
----------------------------------------
General
* JDK 5.0 required for both building and running; for JDK 1.4 support use 1.2.x branch
* upgraded to Spring Framework 3.0
* upgraded to Equinox 3.5.1
* upgraded to Knopflerfish 3.0.0.alfa1
* upgraded to Felix 1.8.1
* generified classes (both public and internal)
* updated archetype project to save locally the manifest generated during packaging
* aligned artifacts versioning with Spring Framework by uppercasing the qualifier (m1 becomes M1)
* added new elements to spring-osgi schema
* align various features with the OSGi r4.2 Blueprint spec
Package org.springframework.osgi.bundle
* deprecated BundleAction in favour of the BundleActionEnum enum
Package org.springframework.osgi.config
* fixed race condition affecting configuration defaults in concurrent startups
* improved further the definition of generated definitions to avoid IDE validation complains
* added namespace tooling metadata
Package org.springframework.osgi.context
* improved serviceability by using NamedThreadLocal
* added class loader aware default Class/Class[] property editors
* fixed cleanup of an internal input stream used for loading property editors
* added support for schema handler filtering
* fixed incorrect transitive dependency between exporters and optional importers
Package org.springframework.osgi.compendium
* enhanced cm-properties to reflect Config Admin changes in the returned Properties object
* added new custom destruction callback to managed service factory objects
Package org.springframework.osgi.extender
* added JavaBean cache initialization for known types to reduce the number of class lookups during startup
* improved importers detection by avoiding early initialization of lazy beans
* align the bundles shutdown algorithm with the OSGi 4.2 Blueprint spec
* fixed delayed cancelation of bundles being stopped while waiting for mandatory services
* added support for schema handler filtering
Package org.springframework.osgi.service
* improved serviceability by using NamedInheritableThreadLocal
* introduced support for dynamic service properties
* introduced InterfaceDetector for custom auto export scenarios
* deprecated AutoExport in favour of DefaultInterfaceDetector enum
* deprecated Cardinality class in favour of Availability enum
* improved laziness of the backing service retrieval
* added 'sticky' option on single importers to prevent rebinds if higher ranking services appear while the backing
service is still alive
* made single service imports 'sticky' by default
* deprecated ExportContextClassLoader in favour of ExportContextClassLoaderEnum
* deprecated ImportContextClassLoader in favour of ImportContextClassLoaderEnum
* service collection can now contain service references instead of just service proxies
* service exporter returns a 'safe' service registration that forbids unregistration
* added new custom callback signature to service importer and exporter listeners
* enforced precedence of framework defined properties over user defined ones
* eliminated generated name property for inner/anonymous beans
* fixed reference collection listener behaviour by invoking the callbacks before items are removed from the collection
* fixed service registration listener behaviour by invoking the callbacks before the service gets unregistered
* improved proxy class generation to avoid introspection problems in concurrent environments
* changed behaviour for mandatory services to retrieve the backing service only when a method is being invoked
* removed mandatory service check for service collection to allow status checks
* added interface-less importers (useful for OSGi 4.2 remote services)
* improved detection of transitive dependencies when traversing nested beans
* added cleanup for services on destruction to avoid postponing bundle shutdown
* improved static service importers by adding caching of the service to ease service cleanup
* added 'cache target' option on service exporter for compatible behaviour with OSGi 4.2 Blueprint spec
* added 'reference-listener' as alias for the 'listener' reference declaration
* fixed exporter tccl management bug caused by garbaged collected proxies
* added several internal improvements to the importer tccl management
Package org.springframework.osgi.mock
* added specific OSGi r4.2 methods
* added case insensitive filter comparison to avoid different behaviours between OSGi platforms
Package org.springframework.osgi.test
* added small improvement for improving detection of inner classes
Package org.springframework.osgi.util
* improved fallback mechanism for OSGi r4.1 features running in OSGi r4.0 platforms
Package org.springframework.osgi.web
* improved encoding of nested context paths
Changes in version 1.2.0 final (2009-04-09)
-------------------------------------------
General
* improved web-console sample (added more documentation and bundles from the SpringSource Enterprise
Bundle Repository)
* updated archetype to support both Bundlor and Felix Bundle plugin
* increased Spring import range up to version 4
Package org.springframework.osgi.config
* fixed collection parsing bug that ignored inlined comparators during detection of ordered types
* improved definition of generated beans for better IDE integration
Package org.springframework.osgi.service
* fixed conversion of ServiceReferences in ServiceReferenceEditor
* improved error reporting for importer and exporter listeners configured with non-existing or incorrect custom methods
* fixed validation bug that prevent ServiceFactory beans from being exported with specified interfaces
Package org.springframework.osgi.test
* fixed initialization bug in FelixPlatform that ignored custom settings
* fixed NPE when locating Maven artifacts in repositories mapped as virtual drives
Package org.springframework.osgi.web
* improved unpacking of war bundles with missing entries
Changes in version 1.2.0 RC1 (2009-03-09)
-----------------------------------------
General
* various documentation improvements and fixes
* upgraded to Felix 1.4.1
* upgraded to Knopflerfish 2.2.0
Package org.springframework.osgi.compendium
* fixed OSGi service unregistration of <managed-service/> listeners
* fixed property injection to occur before the initializing method is invoked for <managed-service-factory/> beans
* renamed <managed-service/> to <managed-properties/> to better reflect the intent
Package org.springframework.osgi.context
* improved proxying of classes that are boot delegated outside the OSGi environment
* error handling is delegated to the multicaster unless debug is on
* improved type filtering for tracked services
* improved AbstractOsgiBundleApplicationContext to republish the context OSGi service during #refresh calls
Package org.springframework.osgi.extender
* changed namespace handlers lifecycle to depend on bundle events STARTED/STOPPED instead of RESOLVED/UNRESOLVED
* removed type compatibility check for custom namespace handlers as it caused false warnings in some cases
* added extender configuration setting for controlling the default bundle service dependency wait time
* added configurable event logger for the managed bundles
Package org.springframework.osgi.io
* improved OsgiBundleResource#getFile() file detection method
* eliminated existance check on resolved files for OsgiBundleResource#getFile()
Package org.springframework.osgi.mock
* added option to set the MockBundle internal class loader
* changed (slightly) the MockBundleContext default properties
Package org.springframework.osgi.service
* removed deprecated retryTimes parameter in OsgiServiceProxyFactoryBean
* improved type filtering for tracked services
* fixed visibility issue when invoking non-public proxied methods
* improved waiting code to deal with spurious or accidental wakeups
* fixed issue with OsgiServiceProxyFactoryBean that caused autowiring to fail in some cases
* fixed dynamic iterator race condition triggered by fluctuating collection ends
* improved logging for mandatory service importers to help diagnose missing required OSGi services
Package org.springframework.osgi.test
* improved FelixOsgiPlatform to support API changes in Felix 1.4.x
* improved exception descriptions
* fixed issue with imported classes in the default package
Package org.springframework.osgi.util
* fixed minor displaying problem in OsgiStringUtils
Package org.springframework.osgi.web
* fixed extender configuration race condition
Changes in version 1.2.0 M2 (2008-11-24)
----------------------------------------
General
* upgraded to Spring Framework 2.5.6
* raised required Spring Framework version to 2.5.6
* upgraded to Knopflerfish 2.1.1
* aligned bundle symbolic names to Spring convention (changed prefix org.springframework.bundle.osgi. to
org.springframework.osgi. )
* added support for compendium namespace (managed-service, config-properties)
* incremented version of spring-osgi.xsd and spring-osgi-compendium.xsd
Package org.springframework.osgi.context
* removed deprecated method AbstractDelegatedExecutionApplicationContext#getContextClassLoader
* introduced dedicated PostProcessor interfaces aware of DelegatedExecutionOsgiBundleApplicationContext's multi-stage
refresh
Package org.springframework.osgi.extender
* improved shutdown algorithm to deal with self-referenced and transitive service references
Package org.springframework.osgi.io
* improved existence check for bundle resources
* fixed manifest headers parsing problem when dealing with nested whitespaces
* fixed handling of optional required bundles
* improved OsgiBundlePatternMatchingResolver to return ContextResources
* changed OsgiBundlePatternMatchingResolver#findResources(String) visibility to protected
Package org.springframework.osgi.service
* refined single service proxies so that any waiting activity is interrupted on destruction
* improved single service proxies to allow settings update at runtime
* deprecated retryTimes parameter in OsgiServiceProxyFactoryBean
* added a weak cache to prevent the creation of identical proxies when publishing scoped beans with managed context
class loader
* improved the proxy creation (when needed) for bean publishing
Changes in version 1.2.0 M1 (2008-09-05)
----------------------------------------
General
* added new annotation-based, Spring-MVC sample
* removed petclinic sample (superseeded by simple-web-app and web-console samples)
* improved sample wars packaging
* improved framework behaviour when running in environments with Java 2 security enabled
Package org.springframework.osgi.context
* added reporting of Errors raised during delegated refresh in AbstractDelegatedExecutionApplicationContext
Package org.springframework.osgi.extender
* fixed bug related to enabling Spring-DM annotation depedency processing
* improved annotation injection processing
* improved extender configuration thread-safety
* fixed potential race condition in asynchronous waiting for service dependencies
Package org.springframework.osgi.io
* improved existence check for bundle resources
* improved jar space pattern matching when the root is not specified
* fixed classpath pattern matching on certain resources when the default Bundle-ClassPath entry (.) is not specified
Package org.springframework.osgi.service
* changed the proxying classloader strategy to address package dependency visibility
* fixed usage of incorrect class loader for imported services with client thread context class loader management
* fixed intermittent deadlock that appeared in some cases betweem importers and exporters during shutdown
Package org.springframework.osgi.web
* improved web extender configuration thread-safety
* improved web extender initialization by using an asynch model for cases with out-of-order dependencies
Changes in version 1.1.1 (2008-07-29)
-------------------------------------
Package org.springframework.osgi.io
* fixed incorrect parsing of headers specifying version ranges
* improved handling of Require-Bundle header (with regards to quotes and ranges)
* fixed handling of required bundles that do not export packages
* fixed premature failure when searching missing resources in multiple paths
Package org.springframework.osgi.service
* fixed potential NPE when comparing managed service references
* improved thread safety for the managed service reference returned to the user
Package org.springframework.osgi.mock
* improved dependency between MockBundleContext and the bundle it returns
* added OSGi R4.1 start/stop signatures to MockBundle
* added OSGi R4.1 compareTo contract to MockServiceReference
Package org.springframework.osgi.mock
* improved local maven artifact search by adding groupId filtering
Package org.springframework.osgi.web
* DefaultContextPathStrategy allows "/" contexts to be specified through Web-ContextPath header
* improved encoding of user defined context paths
Changes in version 1.1.0 final (2008-07-04)
-------------------------------------------
General
* removed deprecated items
* improved project Maven dependencies
* distribution contains Jetty/Tomcat activator sources
* upgraded to Knopflerfish 2.1.0
* improved simple-web-app sample
Package org.springframework.osgi.extensions.annotation
* added attribute for collection greedy-proxying
Package org.springframework.osgi.extender
* improved shutdown ordering algorithm to consider published ApplicationContext
* fixed bug that prevented the shutdownTaskExecutor option from being used
* removed support for extender configuration at META-INF/spring
* fixed deadlock with failed contexts during shutdown
* fixed reading of system property for enabling global annotation scanning
* fixed incomplete initialization of annotation BeanPostProcessor
Package org.springframework.osgi.service
* removed deprecation from AbstractOsgiServiceImportFactoryBean to maintain backwards compatibility
* removed package visible methods from AbstractOsgiServiceImportFactoryBean
* removed deprecated exporter base class AbstractOsgiServiceExporter
* fixed validation during export of non-singleton beans
Package org.springframework.osgi.test
* removed deprecated #getPlatformProperties() method from platforms classes
Package org.springframework.osgi.web
* removed support for extender configuration at META-INF/spring
* improved war scanner Servlet 2.5 compliance (by considering as WARs only bundles with ".war" extension)
* extended DefaultWarScanner scanning mechanism by considering as WARs bundles with WEB-INF/ entries
Changes in version 1.1.0 RC1 (2008-06-24)
-----------------------------------------
General
* removed unused osgi-core.jar from bundle archetype
* migrated some of the project dependencies to SpringSource Bundle Repository
* removed internal package org.springframework.osgi.service.dependency (and associated dependencies) from the public
API
* extenders configuration file changed from META-INF/spring to META-INF/spring/extender to avoid confusion
Package org.springframework.osgi.config
* fixed localization problem in xml enumeration conversion
* fixed listener double invocation caused by JDK 5 bridge methods
Package org.springframework.osgi.context
* refined AbstractOsgiBundleApplicationContext internal resource loader creation so that subclasses can override it
* improved internal namespace service handling
* improved AbstractOsgiBundleApplicationContext handling of ResourceLoader methods
* introduced ContextClassLoaderProvider interface as a strategy for customizing the application context thread context
class loader
* removed ConfigurableOsgiBundleApplicationContext signature from OsgiBundleApplicationContextEvent
* introduced new importer waiting event hierarchy (org.springframework.osgi.service.importer.event package)
* improved handling of OSGi namespaces during shutdown
* added exporter/importer transitive dependency tracking
Package org.springframework.osgi.extender
* added support.scanning package to allow custom locations to be used for 'Spring-powered' bundles
* added setter for delegated application context creator in ConditionalApplicationContextCreator
* improved ApplicationContextConfiguration internal structure
* added type filtering behaviour inside the extender so that scanned bundles are Spring-compatible with the extender
* removed internal usage of Thread.stop as it breaks the VM state
* improved bundle shutdown by using a simple thread executor (rather then one thread per bundle model) to increase
scalability
* added BootstrappingDependencyEvent for notifying the pre-refresh dependency activities
* changed extender configuration to META-INF/spring/extender to avoid confusion
* introduced OsgiServiceDependencyFactory interface to allow third parties to add service dependencies required
before an application context is refreshed
* added support for local OsgiServiceDependencyFactory declared inside the analyzed application context
Package org.springframework.osgi.io
* improved OsgiBundleResource#getFile() method when dealing with resources in expanded bundles
* OsgiBundleResource#lastModified() works even when the underlying bundle cannot be resolved to a File
* added fallback logic to OsgiBundleResource#lastModified() if the underlying platform doesn't return a valid value
Package org.springframework.osgi.service
* added descriptive exception when invoking non-public methods on class proxies (caused by classes with final mehtods)
* added ServiceProxyDestroyedException to indicate the illegal usage of a destroyed proxy
* refined dynamic proxies (unary cardinality) to throw ServiceProxyDestroyedException instead of IllegalStateException
* refined static proxies (multi cardinality) to throw ServiceProxyDestroyedException if used after being destroyed
* introduced ServiceReferenceProxy interface (available through ImportedOsgiServiceProxy) for accessing the native
service reference
* OsgiServiceFactoryBean performs type check validation on given interfaces at startup
* removed internal 'dependency' subpackage (and associated implementations) from the public API
* improved significantly exporter/importer transitive dependency tracking for both single and multi service proxies
* added default cardinality (1..X) when none is specified for both single and multiple service importers
* deprecated importer base class AbstractOsgiServiceImportFactoryBean
* deprecated exporter base class AbstractOsgiServiceExporter
Package org.springframework.osgi.util
* fixed internal handling of nested beans when discovering transitive dependencies of a bean
* fixed internal handling of 'depends-on' beans when discovering transitive dependencies of a bean
Package org.springframework.osgi.test
* removed usage of PackageAdmin for resolving bundles
* improved testing behaviour so that user-defined properties override the platform default ones
* deprecated #getPlatformProperties() from existing platforms classes as it was confusing
Package org.springframework.osgi.web
* improved namespace detection strategy for OsgiBundleXmlWebApplicationContext
* fixed problem with OsgiBundleXmlWebApplicationContext publishing null namespaces as OSGi properties
* DefaultContextPathStrategy supports SpringSource Application Platform's Web-ContextPath header
* introduced configuration property to web extender that allows deployed wars to be undeployed during shutdown
* improved war undeployment by adding a timeout and better shutdown synchronization
* improved handling of bundle locations given as URLs in DefaultContextPathStrategy
* improved DefaultContextPathStrategy structure to allow better subclassing
* changed extender configuration to META-INF/spring/extender to avoid confusion
Changes in version 1.1.0 M2 (2008-04-29)
----------------------------------------
General
* Spring 2.5.4+ required
* upgraded to Felix 1.0.4
* refined the web deployer API
* split web functionality into web and web-extender (symbolic name:org.springframework.bundle.osgi.web.extender) bundle
* added integration with Spring MVC
* added 'greedy-proxying' attribute to reference collections (spring-osgi.xsd)
* reduced the number of class loader instances generated internally by Spring-DM
* improved proxy infrastructure to avoid type leaks or the usage of spring-aop dynamic import
Package org.springframework.osgi.config
* removed usage of deprecated setSource method in AbstractReferenceDefinitionParser
* added support for 'greedy-proxying' attribute
Package org.springframework.osgi.context
* added OSGi import for Spring property editors loaded reflectively
* improved loading of property editors by using Spring-DM core bundle instead of the target bundle
* AbstractOsgiBundleApplicationContext uses the raw bundle as the bean class loader to avoid class leaks
* improved start up NamespaceHandlerResolver look up to avoid class incompatibility problems
* added getContextClassLoader() method to AbstractDelegatedExecutionApplicationContext for pluggable thread context
class loader strategy
* improved AbstractOsgiBundleApplicationContext behaviour if the internal resource loader is not set
* improved bundle class loader creation by using an internal cache
* refined AbstractOsgiBundleApplicationContext to allow customization of the OSGi service properties
* AbstractDelegatedExecutionApplicationContext rethrows all exceptions occuring during refresh
Package org.springframework.osgi.service
* refined weaving process for service importers so that knowledge of org.springframework.osgi package is not required
* fixed potential infrastructure class leak through the thread context class loader management of imported services
* improved proxy class loader creation by using an internal cache
* improved thread-safety of the dynamic service collections
* introduced InfrastructureProxy interface to imported OSGi service proxies
Package org.springframework.osgi.extender
* added OsgiApplicationContextCreator interface for handling the extender contexts creation
* added OsgiBeanFactoryPostProcessor interface for customizing the contexts created by the extender
* changed package of the internal, private bundle activator
* added filtering by type for the discovered namespace handler resolvers to avoid usage of classes with incompatible
wiring
* improved listener list creation by reusing the extender bundle class loader
* ApplicationContextConfiguration is now public
* improved osgi service dependency logs by including the depedency declaring bean name
Package org.springframework.osgi.io
* extended OsgiBundleResource to implement ContextResource
* fixed internal PackageAdminResolver parsing of Require-Bundle entries which specify versions
Package org.springframework.osgi.service
* refined OsgiServiceCollectionProxyFactoryBean to allow for configurable 'greedy-proxying' behaviour
* changed service collection behaviour to not perform greedy proxying by default
* improved the proxy weaving process by providing the aop infrastructure dependencies internally
Package org.springframework.osgi.test
* improved installed bundles resolving when PackageAdmin service is available
Package org.springframework.osgi.util
* BundleDelegatingClassLoader constructor visibility changed from private to protected
* fixed sporadic exception occuring in DebugUtils when analyzing class loading errors
* fixed parsing exception in DebugUtils when dealing with version ranges
Package org.springframework.osgi.web
* added OsgiWarDeploymentException to the deployment interfaces
* added WarDeployment for bundles deployed by the WarDeployer
* added WarDeploymentContext for accessing the properties associated with a war deployment and the associated
BundleContext as a ServletContext attribute
* improved cleanup in case of exceptions for both TomcatWarDeployer and JettyWarDeployer
* added OsgiBundleXmlWebApplicationContext as an OSGi aware XML application context
* refined TomcatDeployer to rely only on Service interface rather the EmbeddedServer class
* fixed casting problem occurring during war undeployment
* improved weaving process for imported web container services
* refined DefaultContextPathStrategy to support folders and encode unsafe characters
* OsgiBundleXmlWebApplicationContext provides the servlet namespace under 'org.springframework.context.web.namespace'
property of its OSGi service
* moved war deployers outside the extender package
* WarLoaderListener and its related classes were moved into sprig-osgi-web-extender bundle
* TomcatWarDeployer Service object can be set directly by the user
* JettyWarDeployer Server object can be set directly by the user
* changed package of the internal, private bundle activator
Changes in version 1.1.0 M1 (2008-04-07)
-----------------------------------------
General
* Knopflerfish 2.0.4+ required
* Felix 1.0.3+ required
* introduced new module dedicated to web application running on OSGi platforms
(successfully tested on Equinox 3.2.2 and the upcoming Felix 1.0.4)
Package org.springframework.osgi.context
* AbstractDelegatedExecutionApplicationContext calls "cancelRefresh" if exceptions appear during the delegeted refresh
* introduced events specific to OSGi application contexts
* introduced listener interface OsgiBundleApplicationContextListener for OSGi context events
* added bundle version to the application context OSGi service
Package org.springframework.osgi.extender
* ContextLoaderListener automatically detects and notifies OSGi services registered as
OsgiBundleApplicationContextListener classes
* ContextLoaderListener can be configured externally through META-INF/spring/*.xml files from fragments attached to its
bundle
Package org.springframework.osgi.io
* added support for classpath: and classpath*: patterns
Package org.springframework.osgi.test
* FelixPlatform uses the Felix distribution default system packages
* KnopflerfishPlatform uses the KF distribution default system packages
* AbstractOnTheFlyBundleCreatorTests can now generate imports based on all classes available in the jar not just the
test hierarchy
Package org.springframework.osgi.util
* BundleDelegatingClassLoader exposes the internal Bundle through getBundle() method
Changes in version 1.0.2 (2008-03-25)
-------------------------------------
General
* adjusted the manifests so internal packages are not exported and the versions for both spring and spring-osgi are
present
Package org.springframework.osgi.context
* AbstractOsgiBundleApplicationContext registers the application context as an OSGi service using just the interfaces
Package org.springframework.osgi.extender
* raised service dependency waiting logging level to INFO (from DEBUG)
Package org.springframework.osgi.util
* BundleDelegatingClassLoader relies on default hashCode/equals methods to prevent class caching on bundle updates
Package org.springframework.osgi.test
* Installed bundles have the location set to the backing resource URL if possible, falling back to the description
Changes in version 1.0.1 (2008-02-29)
-------------------------------------
General
* fixed nested Eclipse classpath entry in spring-osgi bundle archetype
* added log4j.properties to spring-osgi bundle archetype
* added OSGi integration test to the spring-osgi bundle archetype
Package org.springframework.context.support
* the namespace resolver mechanism first checks the local bundle classpath before using the extender namespace service
Package org.springframework.osgi.context
* fixed AbstractDelegatedExecutionApplicationContext to log errors that occur during the bean factory startup
Package org.springframework.osgi.io
* improved OsgiBundleResource handling of jars with missing archive entries for folders
* improved OsgiBundleResourcePatternResolver performance when checking for jar resources
* improved detection of relative OSGi URLs
Package org.springframework.osgi.test
* AbstractOsgiTest provides better error messages for bundle that fail to start
* custom artifact locators can be used with AbstractDependencyManagerTests
* removed all internal usage of system properties by the testing infrastructure
* removed the use of serialization inside the testing framework
* improved automatic manifest generation by parsing only the test parents that are available in the test bundle
Changes in version 1.0 final (2008-01-25)
-----------------------------------------
Package org.springframework.osgi.extensions.annotation
* aligned bundle symbolic name with the rest of the bundles
Package org.springframework.osgi.service
* refined the service proxy returned by OsgiServiceProxyFactoryBean so it doesn't allow usage after being destroyed
Package org.springframework.osgi.test
* removed deprecated mispelled Platforms#KNOPFLEFISH constant
* KnopflerfishPlatform exports automatically system packages for JDK 1.4/1.5
* refined test bundle creation to ignore duplicate META-INF/MANIFEST.MF
* optimized test bundle creation by using no compression
* AbstractOnTheFlyBundleCreatorTests automatic manifest generation does not add OSGi import entries for packages
contained in the test bundle
Package org.springframework.osgi.util
* OsgiServiceUtils#getAllServices() deprecated method has been removed
* OsgiServiceUtils#getService() deprecated method has been removed
* default artifact locator picks up Maven 2 ~/.m2/settings.xml localRepository configuration
* DebugUtils uses a degradable logger to properly report error messages when the logging implementation is misconfigured
* BundleDelegatingClassLoader uses a degradable logger to properly report error messages when the logging implementation
is misconfigured or the logging classes are not loaded yet
Changes in version 1.0 RC2 (2008-01-11)
---------------------------------------
General
* removed deprecated methods
* circular references between service importers, exporter and listeners are now supported
* distributable bundles include Apache 2 license (META-INF/license.txt and META-INF/notice.txt)
* all integration tests have been moved under integration-test/ folder
* by default, the samples and integration tests are not executed (use Maven profiles to include them)
* Maven 2.0.7 is required for properly building the project under JDK 1.6
* Knopflerfish 2.0.3 is required for correctly building and running Spring-DM
Package org.springframework.osgi
* updated spring-osgi.xsd Tservice type to properly reflect OsgiServiceFactoryBean package
* updated spring-osgi.xsd list, set elements to properly reflect OsgiServiceCollectionFactoryBean package
* updated bundles symbolic name to follow Spring bundle conventions (org.springframework.bundle.osgi
instead of org.springframework.osgi.bundle)
Package org.springframework.osgi.bundle
* removed deprecated method BundleFactoryBean#setClassloader
Package org.springframework.osgi.config
* OsgiConfigDefinitionParser visibility changed from public to default
* OsgiDefaultsDefinition visibility changed from public to default
* ParserUtils visibility changed from public to default
Package org.springframework.osgi.context
* AbstractDelegatedExecutionApplicationContext throws clearer exception when the mandatory BundleContext is not set
Package org.springframework.osgi.extender
* META-INF/spring.handlers, META-INF/spring.schemas files are searched in the bundle space instead of the class space
Package org.springframework.osgi.service
* fixed double negation in AutoExport.DISABLED javadoc
* removed deprecated method AbstractOsgiServiceImportFactoryBean#setInterface
* service reference importers receive only one event (that of the best matching service) when registered/unregistered
into the OSGi space rather then events of all existing services
Package org.springframework.osgi.test
* AbstractOnTheFlyBundleCreatorTests rethrows actual exception when creating/loading MANIFEST.MF
* fixed mispelled KNOPFLERFISH constant in Platforms class (was KNOPFLEFISH)
* default settings and properties in AbstractConfigurableBundleCreatorTests are now protected
* AbstractOsgiTests does not implement any more, internal interface OsgiJUnitTest
* AbstractConfigurableBundleCreatorTests exposes the default jar creation settings through #getDefaultSettings()
* removed method AbstractDependencyManagerTests#injectArtifactLocator
* AbstractDependencyManagerTests#getLocator visibility changed from public to protected
* AbstractConfigurableBundleCreatorTests jar content pattern has been changed to **/* (from **/*.class, **/*.xml,
**/*.properties)
* waitOnContextCreation methods visibility changed from public to protected (to be consistent with the rest of the
test methods)
Package org.springframework.osgi.util
* deprecated OsgiServiceUtils#getAllServices()
* deprecated OsgiServiceUtils#getService()