Commit Graph

1393 Commits (dd66f119d380f6a5095433258f2e4f4a5044bb98)
 

Author SHA1 Message Date
Dave Syer ac34f9c993 First proper draft of DSL for Groovy Commands
Users can declare or Command, OptionHandler classes in an init script
or they can use a DSL, e.g.

command("foo") { args -> println "Do stuff with ${args} array" }

or

command("foo") {
  options { option "bar", "Help text for bar option" ithOptionArg() ofType Integer }
  run { options -> println "Do stuff with ${options.valueOf('bar')}" }
}
11 years ago
Dave Syer 1e75c0a55b Extend programming model for script commands 11 years ago
Dave Syer b5db4d3ff4 Enhance FileOptions to support multiple classpath resources 11 years ago
Dave Syer cd7b1b19c5 Add InitCommand to execute groovy script on startup
InitCommand runs on creation of SpringCli so it can search for additional
Commands in updated classpath. Also added as interactive command in Shell
session.
11 years ago
Dave Syer 033250195b Allow user to specify classLoader as loader property
PropertiesLauncher now supports creating its own class loader
from looader.classLoader property. It will succeed if the
implementation specified has a default constructor or one
that takes a parent class loader, or one that takes a URL[]
and a parent class loader (like URLClassLoader).
11 years ago
Dave Syer f5f41fef5e Check that WAR apps work in a container 11 years ago
Greg Turnquist 0610378d2f Resolves #127: Prevent duplicate report outcomes
The collection of outcomes is a list. Sometimes a race condition causes to instances
of the same outcome to get added to the list shown in the report. By replacing this
with a set and propery equals/hashCode, duplicates are prevented from appearing
in the report.

I added test cases to prove that that POJO is properly managed inside a Set and also
to show that duplicates don't appear in the final report.
11 years ago
Dave Syer c71322a0b2 Add a BatchConfigurer so the transaction manager can adapt to JPA
Autoconfiguration ordering has to be adjusted so that a DataSource is
available before an EntityManagerFactory is ever needed. Previously
the autoconfigs were accidentally loaded in the right order, but after
the change to BatchAutoConfiguration the order has to be explicit.

Fixes gh-189
11 years ago
Dave Syer e48ddaeb99 Fix grab test 11 years ago
Dave Syer df476bed1f Ensure local repository cache is always used 11 years ago
Dave Syer 47a0df1e3d Add groovy to dependency management 11 years ago
Phillip Webb 6b3e79e693 Polish 11 years ago
Phillip Webb bd6c672bba Drop jumping into shell when running without args
Change SpringCli so that running without arguments no longer jumps into
the embedded REPL shell. This restores the ability to obtain quick usage
help by simply typing `spring` from the command prompt.

Windows users or developers that prefer the embedded shell can still
launch it using `spring shell`.
11 years ago
Phillip Webb f56318e9b8 Polish embedded REPL shell 11 years ago
Phillip Webb 1bcd3de7b5 Polish 11 years ago
Phillip Webb 0f9c705980 Rework OptionHandler '-cp' argument support
Change OptionHandler to support '-cp' instead of '--cp'. This update
to the original fix (045088e8b) renders `help` output correctly and
should prevent potential issues if a `-p` command is added in the future.

Fixes gh-178
11 years ago
Phillip Webb 3a82eac2e6 Prevent early initialization of Servlets
Defer loading of Servlets (with a loadOnStartup priority) until
the `EmbeddedServletContainer.start()` method is called. This prevents
issues with the DispatcherServlet being initialized before the embedded
ApplicationContext is fully initialized.
11 years ago
Phillip Webb 3cd4026bcc Update eclipse template copyright date to 2014 11 years ago
Phillip Webb 0029e8200c Fix copyright dates 11 years ago
Phillip Webb 7623c291a2 Attempt to fix failing CI build 11 years ago
Dave Syer 045088e8b3 Add -cp to option help for compiler commands
Fixes gh-178
11 years ago
Janne Valkealahti da889efde7 Fix PropertiesLauncher for wildcard entries in parent classpath
This small change now plays nice with wildcard classpath
entries coming from a parent classloader as its urls.
11 years ago
Dave Syer f448e79f29 Remove long package names from samples
Long package names are really unnecessary in samples and they
just clutter things up. Also Spring Loaded doesn't work with
org.sfw packages, so to demo that technology you need a
different package name.
11 years ago
Dave Syer 3c7361fb3e Support for wildcard paths in PropertiesLauncher 11 years ago
Dave Syer ea59976277 Extract package discovery to separate method 11 years ago
Dave Syer 4cfc7b6ad9 Make sure integration still works in CLI 11 years ago
Dave Syer aa2b020660 Refactor metrics to expose richer feature set
Main user-facing interface is still Counter/GaugeService but the
back end behind that has more options. The Default*Services write
metrics to a MetricWriter and there are some variants of that, and
also variants of MetricReader (basic read-only actions).

MetricRepository is now a combination of MetricReader, MetricWriter
and some more methods that make it a bit more repository like.

There is also a MultiMetricReader and a MultiMetricRepository for
the common case where metrics are stored in related (often open
ended) groups. Examples would be complex metrics like histograms
and "rich" metrics with averages and statistics attached (which
are both closed) and "field counters" which count the occurrences
of values of a particular named field or slot in an incoming message
(e.g. counting Twitter hastags, open ended).

In memory and redis implementations are provided for the repositories.
Generally speaking the in memory repository should be used as a
local buffer and then scheduled "exports" can be executed to copy
metric values accross to a remote repository for aggregation.
There is an Exporter interface to support this and a few implementations
dealing with different strategies for storing the results (singly or
grouped).

Codahale metrics are also supported through the MetricWriter interface.
Currently implemented through a naming convention (since Codahale has
a fixed object model this makes sense): metrics beginning with "histogram"
are Histograms, "timer" for Timers, "meter" for Meters etc.

Support for message driven metric consumption and production are provided
through a MetricWriterMessageHandler and a MessageChannelMetricWriter.

No support yet for pagination in the repositories, or for HATEOAS style
HTTP endpoints.
11 years ago
Dave Syer 5d8e58d12c Remove support for Integration DSL (milestone only) 11 years ago
Oliver Gierke d39a8360b7 Added support to allow manually declaring a EntityManagerFactoryBean.
Added the necessary @ConditionalOnMissingBean annotations to allow selectively declaring an EntityManagerFactoryBean, a JpaVendorAdapter or a PlatformTransactionManager. Especially the first one might be necessary to make sure the persistence provider evaluates an orm.xml. This unfortunately rules out using the packages to scan feature of Spring's LCEMFB.

I've filed https://jira.springsource.org/browse/SPR-11260 to potentially remove the need for this workaround in Spring itself.
11 years ago
Oliver Gierke 88d4d8d7f6 Added missing dependency management declaration for spring-aspects. 11 years ago
Dave Syer c9c433608f Add ApplicationContext to the EmbeddedServletContainerInitializedEvent 11 years ago
Dave Syer 4d60b09c9b Revise docs for port discovery 11 years ago
Dave Syer cdb45cff0c Add EmbeddedServletContainerInitializedEvent for access to local port 11 years ago
Dave Syer c709423ab8 Typos in Javadocs 11 years ago
Dave Syer b558537ee6 Docs for obtaining server port 11 years ago
Christian Dupuis 384dfc91e3 Fix some tests to prevent JMX registration issues 11 years ago
Christian Dupuis 4ed4ed905d Make EndpointMBeanExportAutoConfiguration public 11 years ago
Christian Dupuis 06ffcdd3cc Change configuration to use ConfigurationProperties instead of direct access to environment for MBean export 11 years ago
Dave Syer 1531329da0 Extend SimpleJsonParser to try Long and Double format 11 years ago
Dave Syer 9f241a9e82 Ensure app index is used when profiles actrive 11 years ago
Dave Syer fe1336edcc Add JobExplorer and JobOperator 11 years ago
Christian Dupuis 65d6757a10 Rework EndpointMBeanExporter to prevent name clashes and to provide more flexibility in naming of endpoint MBeans 11 years ago
Dave Syer b81930fcce Support for Jetty 9 11 years ago
Dave Syer ffc4bd3814 Reduce spacing between bullets 11 years ago
Dave Syer b32297078f Re-org README a bit 11 years ago
Dave Syer aee42fcc18 Add instanceof check and nice fat error message
If Logback and another SLF4J implementation are both on the classpath
it is possible for the LogbackLoggingSystem to fail to locate
a LoggerContext. Rather than a ClassCastException it is better to
make an assertion with an error message.

Fixes gh-162
11 years ago
Dave Syer de82557bd8 Change command set when entering shell
Fixes gh-147
11 years ago
Dave Syer d50d378c33 Prevent more than one app at a time from running 11 years ago
Dave Syer 0bca416d3b Remove CLI_APP name if in shell 11 years ago
Dave Syer cc8aa753da Add basic Banner to CLI Shell 11 years ago