Commit Graph

1400 Commits (ca7201b4b2811a901c54b7bf1b7f8e313598572f)
 

Author SHA1 Message Date
Ulrich von Poblotzki f306eda703 Implemented the error handling in case of commucation failures 11 years ago
Ulrich von Poblotzki 386bb73169 Added simple error hangling to 'SnakeTimer#broadcast'
In some cases the websocket communication fails and Snake#sendMessage throws an exception.
In that case the send loop is interrupted and later clients are not update.
11 years ago
Dave Syer 84a213f774 Add README to cli 11 years ago
Dave Syer a72ab9eb7d Refactor cli properties into single project 11 years ago
Dave Syer b5f0f97110 Clean up TestCommand paraphenalia 11 years ago
Greg Turnquist 1ce13cc2c2 Add 'spring test [files]' command to compile and test code automatically
- Look for JUnit test symbols, and add JUnit automatically
- Look for Spock test symbols, and add Spock automatically
- Based on what test libraries were used, invoke relevant embedded testers
  and accumulate results
- Make it so that multiple testers can be invoked through a single 'test' command
- Print out total results and write out detailed trace errors in results.txt
- Update based on the new artifact resolution mechanism
11 years ago
Dave Syer 4655eb3a94 Expose SpringApplicationBuilder in SpringBootServletInitializer 11 years ago
Dave Syer 6cd060c4cf Fix deployable WAR (Servlets have to be registered)
Includes smart guess for prepending servlet context initializer
in SpringApplicationBuilder.
11 years ago
Andy Wilkinson ad7503b0bb Ensure VPP is available to ant run plugin in full build 11 years ago
Andy Wilkinson c5a5f07fb0 Add spring-boot-cli-properties to full build 11 years ago
Andy Wilkinson c1ec5e5c0e Support @Grab without a version or group
Usually, use of @Grab requires you to specify a group, module, and
version when identifying a dependency. This can be done in two
different ways:

@Grab(group='alpha', module='bravo', version='1.0.0')
@Grab('alpha:bravo:1.0.0')

This commit allows users to only specify a module: the group is
inferred and the version is the one dictated by the boot CLI. Both
forms are supported:

@Grab(module='bravo')
@Grab('bravo')

Groovy's global AST transformations, which is how Grab is implemented,
do not support ordering and we need to augment the AST for the Grab
annotation before its processed by the Grab AST transformation. To
work around this, reflection is used to get hold of the compile
operations in the conversion phase, and a new AST transformation is
inserted immediately before the first AST transformation operation.

To allow a module's groupId and version to be resolved consistently,
META-INF/springcli.properties has been enhanced to include properties
for each module that we want to support in the following form:

<module>.groudId = <groudId>
<module>.version = <version>

<groupId> and <version> are taken from the Maven project's
dependencies and VPP, a Velocity-based pre-processor, is used to
automatically generate the enhanced properties file.

To prevent pollution of spring-boot-cli's class path with the
dependencies that are only required to populate springcli.properties,
a separate project, spring-boot-cli-properties, has been created.
spring-boot-cli depends upon this now project causing it to, via the
shade plug, include the properties file in its jar.

Previously DependencyCustomizer allow a dependency to be added by
specifying its full coordinates, i.e. a group ID, artifact ID, and
version. This commit updates DependencyCustomizer to only require
an artifact/module ID. The group ID and version are then resolved
using the same mechanism as the enhanced @Grab support.

[#56328644] [bs-312] Allow @Grab without version
11 years ago
Ulrich von Poblotzki 4ddae32de9 Updated Tomcat version updated to 8.0.0-RC3
The RC1 version had some websocket issues, that prevented propper websocket communication.
In some cases the SocketJS communication was downgraded to 'xhr_streaming'.
11 years ago
Dave Syer 3b2abe9c17 Use create_drop JPA as default if in-memory
[Fixes #55277582] [bs-288]
11 years ago
Dave Syer bbec4f7cf5 Make default proxyTargetClass=false
If the default is true JPA repositories all have to have
default constructors etc.
11 years ago
Eberhard Wolff c6e0c76341 Added test for AOP auto configuration and dependency to AspectJ 11 years ago
Dave Syer 6d6c261caa Add amqp starter to build 11 years ago
Dave Syer 1a59698f8b Tweak AMQP sample slightly 11 years ago
Eberhard Wolff 1096ed6d1f Added AMQP starter and sample 11 years ago
Greg Turnquist f6a011a743 Add documentation on how to use gvm to support CLI dev work 11 years ago
Dave Syer 1be040170c Fix bug with ordering of property sources
Profile-specific property sources were being added last,
*after* the global values, which means they did not
override in the way that users would expect.

Fixed by storing the global property sources in an
intermediate list and applying them after the profile
specific ones.
11 years ago
Dave Syer a082f2bed5 Investigating 11 years ago
Dave Syer dfb660aa87 Add schema.sql,data.sql to default SQL initializers
...for compatibility with Spring JDBC. Users can still
optionally specify spring.database.schema, but the default
location is schema-${spring.database.platform}.sql, schema.sql,
data.sql.

[Fixes #58332710]
11 years ago
ggerard 182328697d Spelling error: "everypone" 11 years ago
Eberhard Wolff 0760a4ad87 Added Spring Boot Guides from spring.io 11 years ago
Dave Syer 5fe9ef69c7 Add SpringApplicationContextLoader 11 years ago
Dave Syer eabb1e70a4 Refine SpringApplicationBuilder and add a test for profiles 11 years ago
Dave Syer 345c0fc5a4 Add SpringApplicationBuilder
Builder for SpringApplication and ApplicationContext instances with
convenient fluent API and context hierarchy support. Simple example
of a context hierarchy:

   new SpringApplicationBuilder(ParentConfig.class)
               .child(ChildConfig.class).run(args);

Another common use case is setting default arguments, e.g.
active Spring profiles, to set up the environment for an application:

     new SpringApplicationBuilder(Application.class).profiles("server")
 		.defaultArgs("--transport=local").run(args);

If your needs are simpler, consider using the static convenience
methods in SpringApplication instead.

[#49703716] [bs-116] Parent context for some beans maybe?
11 years ago
Dave Syer 3879afccfb Important: restrict PPC scanning to current context 11 years ago
Dave Syer 0df4156b57 Lazy initialization of management server properties 11 years ago
Dave Syer 5b1503d07d Extract DispatcherServletAutoConfiguration so it can be used independently 11 years ago
dave noel a1517de6db Add gradle runJar 11 years ago
Dave Syer f7fa63bcb4 Add status and error messages to /trace
[Fixes #57949108] [bs-323] Make sure /trace shows error responses
11 years ago
Phillip Webb 1bdb2ce1c2 Polish 11 years ago
Dave Syer be1c279be6 Add connector to service before calling customizers 11 years ago
Dave Syer 52e0193d95 Refactor Rabbit and JMS to avoid bean name clash 11 years ago
Dave Syer 923f286ae2 Add spring.view.{prefix,suffix} properties
Fixes #62
11 years ago
Dave Syer c661a74c75 Add TomcatConnectorCustomizer
... and ServerProperties.Tomcat.maxThreads to conveniently
limit the thread pool size in the Connector.
11 years ago
Dave Syer c7dc95692c Fix typo in pom sample 11 years ago
Dave Syer 9bb6e0f497 Fix test 11 years ago
Greg Turnquist 941d163709 Add support for Spring Rabbit (via Spring AMQP) to Boot
- If RabbitTemplate is on the classpath, turn on autodetection.
- Create a RabbitTemplate, a Rabbit ConnectionFactory, and a RabbitAdmin is spring.rabbitmq.dynamic:true
- Enable some **spring.rabbitmq** properties like host, port, username, password, and dynamic
- Add tests to verify functionality
- Add Groovy CLI functionality. Base it on @EnableRabbitMessaging. Add spring-amqp to the path.
- Create rabbit.groovy test to prove it all works.
- Make Queue and TopicExchange top-level Spring beans in rabbit.groovy test script
11 years ago
Greg Turnquist fa6e6fde6c Add JMS autoconfig support
* application.properties support for spring.jms and spring.activemq

* more tests to verify ActiveMQConnectionFactory pooling

* Groovy support and simple sample with activemq

* Groovy detection mechanism is @EnableJmsMessaging annotation
11 years ago
Phillip Webb e16a0278ae Support single config from ServletInitializer
Update SpringBootServletInitializer with separate getConfigClass() and
getAdditionalConfigClasses() methods. This change makes it easier to
use the SpringBootServletInitializer with the common use case of a
single config class.
11 years ago
Phillip Webb 26303a9767 Ensure DataSource can load database driver
Update DataSource conditional to ensure that the driver class
can actually be loaded by the DataSource. This fixes an issue when
deploying a classic WAR where `org.apache.tomcat.jdbc.pool.DataSource`
is found the parent classloader but the database driver cannot be loaded
because is included as a local `/lib` dependency.
11 years ago
Phillip Webb c544921eaa Polish whitespace 11 years ago
Phillip Webb 15bc25dc29 Further re-organization of launcher code 11 years ago
Dave Syer 0e0eb7d3fa Add loader.system (flag to copy properties to System) 11 years ago
Dave Syer a3af83cf96 Add internal property replacement
E.g. in application.properties (for launcher)

foo: Application
loader.main: my.${foo}
loader.path: etc
11 years ago
Dave Syer a70d293c87 Re-organize the Launcher code a bit 11 years ago
Phillip Webb e9fd7c96b8 Loader changes 11 years ago
Dave Syer 053c072155 Add some tests for PropertiesLauncher 11 years ago