Commit Graph

267 Commits

Author SHA1 Message Date
Ryan Baxter
4413f136aa Revert "Only attempt to decrypt properties that are not overridden (#462)"
This reverts commit 59798f52ed.
2019-02-14 17:14:14 -05:00
Ryan Baxter
5e52806440 Revert "Allow overriding encrypted properties with unencrypted properties (#459)"
This reverts commit 4a66435d38.
2019-02-14 17:09:28 -05:00
Spencer Gibb
703c7c2bbf Ignores MapPropertySources not created by boot
Prior to this change, any `MapPropertySource` created by an `EnvironmentPostProcessor` would be processed by `BootstrapApplicationListener`. If that property source had a conditional property that it created itself, the 2nd run (bootstrap causes EPPs to run twice) would not have the property and that property source would end up in the main `Environment` effectively deleting a property.

This change only deals with `MapPropertySource`s created by boot testing for a specific sub-type.

Fixes gh-476
2019-02-13 11:34:26 -05:00
Ryan Baxter
d7d0320905 Merge remote-tracking branch 'origin/1.3.x' into 2.0.x 2019-01-18 16:13:43 -05:00
Ryan Baxter
b91e2ab731 Trim profile names in array (#469)
* Trim profile names in array.  Fixes #460

* Use tokenizeToStringArray
2019-01-18 16:12:52 -05:00
Ryan Baxter
43c270a53c Provide exact error when there is a problem opening the logging config file. Fixes #464 (#470) 2019-01-18 10:30:05 -05:00
Jasper Aarts
59798f52ed Only attempt to decrypt properties that are not overridden (#462) 2019-01-07 12:33:09 -05:00
Jasper Aarts
4a66435d38 Allow overriding encrypted properties with unencrypted properties (#459) 2018-12-21 15:05:57 -05:00
Ryan Baxter
9b8a70e557 Check type before invoking bean factory to prevent early creation of FactoryBeans. (#436) 2018-10-27 07:45:26 -04:00
lxy
bbc82b423c Set MainApplicationClass if it is null (#426)
MainApplicationClass will be null, if it is booted from SpringBootServletInitializer. So we need to set it properly.

Fixes gh-425
2018-10-18 09:51:59 -04:00
durigon
b91313d913 Refactor String#replaceAll (#417)
If we repeatedly call String#replaceAll, we internally repeatedly call the regular expression pattern compilation every time as following:
```java
    public String replaceAll(String regex, String replacement) {
        return Pattern.compile(regex).matcher(this).replaceAll(replacement);
    }
```
The modifications are to keep the compiled pattern.
Therefore, compiling a relatively expensive regular expression pattern does not have to be done every time.
2018-09-19 20:41:07 -04:00
Spencer Gibb
6533e0ca53 Makes ContextRefresher easier to extend.
Adds protected getters for context and scope.

Adds new refreshEnvironment() method.

fixes gh-382
2018-08-15 14:48:58 -04:00
Spencer Gibb
69181c14d1 formatting 2018-08-01 13:20:28 -04:00
Ryan Baxter
7949aaa1b5 Merge remote-tracking branch 'origin/1.3.x' 2018-07-30 16:40:12 -04:00
Ryan Baxter
57ab7ed469 Add null check in RefreshScopeHealthIndicator. Fixes #397. (#398) 2018-07-26 15:09:05 -04:00
Ryan Baxter
1de9d12150 Extract target class code into utility class (#391)
* Extract target class code into utility class
2018-07-11 16:01:14 -04:00
Spencer Gibb
bd138dac44 fixes formatting 2018-06-13 16:09:30 -04:00
Spencer Gibb
13722cb6b7 Merge branch '1.3.x' 2018-06-13 16:06:43 -04:00
Matt Benson
e833dbaa37 Fix GenericScope so that multiple subclasses can live in the same context (non-static inner class cannot resolve parent bean) 2018-06-13 15:59:16 -04:00
Spencer Gibb
a8e90681b7 Renames environmentWebEndpointExtension to environmentEndpointWebExtension.
This matches boot, even though the boot bean shouldn't be created because of a @ConditionalOnMissingBean

see gh-374
2018-05-31 12:57:42 -04:00
Dave Syer
0e259eab35 Workaround for data source cycle with hibernate
The JpaInvokerConfiguration (nested in RefreshAutoConfiguration can be
removed when and if the issue is resolved in Boot.

Also splits the hibernate test dependencies out into a separate module
so the main context tests run quicker.

Fixes gh-355
2018-05-11 09:40:52 +01:00
Peter Lajko
f7519a30ad RestartEndpoint fixed (#366)
* RestartEndpoint fixed

* method naming fix
2018-05-10 15:44:30 -04:00
Stéphane Nicoll
6560e8896c Polish (#369) 2018-05-10 15:33:07 +02:00
Stephane Nicoll
bf5de108e2 Stop exposing a duplicate web extension for the env endpoint
An actuator endpoint is designed around a single class flagged with
`@Endpoint`. Such endpoint can have some of its operations refined with
a given tech (for instance via a `EndpointWebExtension` for web specific
concerns).

This design mandates that an endpoint (and its tech specific refinements
are managed centrally to form a unified contract).

As Spring Cloud is extending the standard Spring Boot's `env` endpoint,
this commit introduces a WritableEnvironmentEndpoint with a web
extension.

Closes gh-367
Closes gh-354
2018-05-10 10:53:43 +01:00
Dave Syer
d80d07e160 Unused imports 2018-05-03 11:02:57 -04:00
Ryan Baxter
f2e018fb6d Revert "Move RefreshScope to a static @Bean method"
This reverts commit 77ac09b119.
2018-05-02 15:05:13 -04:00
Dave Syer
77ac09b119 Move RefreshScope to a static @Bean method
The test shows that this fixes a weird initialization ordering
problem that leads otherwise to Spring thinking there is a
dependency cycle (even though there is not). This problem only
surfaces when there is a schema.sql to apply.

Fixes gh-355
2018-05-02 05:46:46 -04:00
Johnny Lim
dbac0f06fe Polish RefreshScopeBeanDefinitionEnhancer.setRefreshable() (#362) 2018-04-30 20:04:13 -04:00
Spencer Gibb
78b11c35ff GenericScope throws original checked exception, rather than UndeclaredThrowableException
fixes gh-349
2018-04-02 12:29:39 -04:00
Spencer Gibb
70ff397188 Moves to new classpath exclusion classes 2018-03-21 10:48:33 -04:00
Spencer Gibb
384a576c4e Merge branch '1.3.x' 2018-03-21 10:40:11 -04:00
Ryan Baxter
ee5034ee0d Move RSA properties to its own class and make it conditional (#342)
Avoids ClassNotFoundException when RSA is not on the classpath. 

Fixes gh-334.
2018-03-21 10:35:24 -04:00
Marcin Grzejszczak
ec11d4bbfe Avoiding NPE for proxied beans upon context shutdown; fixes gh-340 2018-03-20 13:50:59 +01:00
Spencer Gibb
78d25f0fc0 Don't rebind beans with no implementation.
fixes gh-337
2018-03-16 13:53:59 -04:00
Dave Syer
3bc1576897 Merge branch '1.3.x' 2018-03-08 12:01:05 +00:00
Dave Syer
5802c0e2be Actually close parent context in RestartEndpoint
There could be consequences for apps that have more complex context
hierarchies, but RestartEndpoint doesn't work well at all for those
apps anyway, so we are probably safe to just make changes in the
endpoint itself.

Fixes gh-333
2018-03-08 11:55:49 +00:00
Dave Syer
dcc822626b Add a configurable of beans to postprocess into refresh scope
Allows you to apply @RefreshScope to beans that you do not
control or define. The list is configurable as
spring.cloud.refresh.refreshable and by default has only
HikariDataSource.

Fixes gh-318
2018-03-02 15:54:25 +00:00
Dave Syer
d14e8ffa1a Add test for binding to Hikari DataSource 2018-03-02 13:38:35 +00:00
Dave Syer
b6df5e2425 Add encrypt.salt configuration option 2018-02-22 11:07:06 +00:00
Spencer Gibb
43ea0461ee Uses new BEAN_NAME constant from spring boot 2.0
fixes gh-324
2018-02-18 13:11:42 -05:00
Biju Kunjummen
e77a3fd498 Allows more standard rsa private key for config values encryption (#323) 2018-02-15 13:50:03 -05:00
Spencer Gibb
fbabe7e3e9 Revert "Fix wrong property name to expose actuators"
This reverts commit 18ba863
2018-02-13 10:02:48 -05:00
Spencer Gibb
216d49fdd9 Move to new class name 2018-02-13 10:02:28 -05:00
Dave Syer
b5ac8fe725 Fix compiler warnings 2018-02-13 09:29:30 +00:00
Dave Syer
18ba863e5f Fix wrong property name to expose actuators 2018-02-13 09:26:02 +00:00
Dave Syer
46d92bb190 Fix class name change and port clash in tests 2018-02-13 09:23:06 +00:00
Spencer Gibb
9f3744d1e2 Update to new web endpoint property 2018-02-12 12:11:53 -05:00
Spencer Gibb
db00e13e74 Update to boot renamed class in 2.0.0.BUILD-SNAPSHOT 2018-02-09 20:25:22 -05:00
Spencer Gibb
16c43dd0d9 Temporary fix for hikari datasource sealed causing refresh errors.
See gh-318
2018-02-06 13:03:44 -05:00
Spencer Gibb
3a390a35fa Guard against missing EndpointAutoConfiguration class
fixes gh-319
2018-02-06 11:29:55 -05:00