Showing posts with label spring. Show all posts
Showing posts with label spring. Show all posts

29 November 2025

Spring boot 4 / framework 7 released (updated)

Spring boot 4 was released this week, on the heels of the Spring Framework 7 release. Here are some highlights:

  • Upgrades in underlying technology:
  • Java 25 (with a Java 17 baseline)
  • Gradle 9
  • Jackson 3 
  • plenty of major releases for Spring modules (Data, AMQP, Batch, BraphQL, HATEOAS, Rest Docs, Security...)

16 November 2018

Spring Data Release train names

The spring data release trains are named after famous computer scientists, some of them living! The release train is a bundle of recent compatibe Spring Data subprojects (JPA, Redis, MongoDB, Solr, REST...). Basically they all refer to the same Spring Data Commons version. The names are ordered alphabetically, clearly inspired by Android's alphabetically ordered releases named after candy, Here's the list up to this day:

2013-02: Arora
2014-02: Babbage
2014-03: Codd
2014-05: Dijkstra
2014-09: Evans
2015-03: Fowler
2015-09: Gosling
2016-04: Hopper
2017-01: Ingalls
2017-10: Kay
2018-09: Lovelace
2019-10 : Moore
              : Neumann

5 November 2018

Spring Web Flow and Spring Boot DevTools problem: SpelEvaluationException: EL1004E: Method call:cannot be found

When calling a method with arguments using the <evaluate>  tag in a spring webflow XML definition I get the error SpelEvaluationException: EL1004E: Method call: xxx cannot be found.
I am using Spring Boot Devtools for automatic server restart upon changes.
The embedded LiveReload server uses two classloaders, and thinks the the classes of the parameters supplied by spel in the XML are different from the (same) classes in your Java code.
Hence the method is not found, and an exception is thrown.
Possible Solutions:

  • Do not use Spring Boot Devtools for Spring Web Flow projects
  • Follow the guidance in the description of the bug

27 November 2010

Using JPA with Spring

SL-370 module 1 shows an example of using JPA with Java SE.
If you want to use Spring with JPA, the java code is just like in Java EE. Here's how the configuration files for Spring look for an example similar to the Java SE example:

persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0"
xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
 <persistence-unit name="StockPU" transaction-type="RESOURCE_LOCAL">
 <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
 <properties>
  <property name="javax.persistence.jdbc.user" value="public"/>
  <property name="javax.persistence.jdbc.password" value="public"/>
  <property name="javax.persistence.jdbc.url" 
   value="jdbc:derby:MyDB;create=true"/>
  <property name="javax.persistence.jdbc.driver" 
   value="org.apache.derby.jdbc.EmbeddedDriver"/>
  <property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
  <property name="eclipselink.logging.level" value="SEVERE"/>
 </properties>
 </persistence-unit>
</persistence>
Spring XML configuration snippet(e.g. in application-config.xml):
<bean id="entityManagerFactory" 
 class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean" 
 lazy-init="true">
 <property name="persistenceUnitName" value="StockPU" />
</bean>
<bean name="transactionManager" 
 class="org.springframework.orm.jpa.JpaTransactionManager">
 <property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>

<tx:annotation-driven />

12 November 2008

Spring eats Groovy


With venture capital burning in its pockets, Springsource has now acquired G2One, the company behind Groovy and Grails.
Sure is a combination of two great technologies.

11 October 2008

SpringSource relaxes maintenance policy

SpringSource is going through the growing pains of a free open source company going for money.
Venture Capitalists Benchmark (they're also in RedHat) and Accel invested $25.000.000 since may 2007, and these guys like to see some return.
Up to then, Interface 21, the company of Spring founder Rod Johnson, made its money mainly from consulting services.
By the end of 2007 the company got rebranded to SpringSource and since then their focus is on making money from the products (and maintenance contracts).
They started using their money to eat Covalent, an Apache support company and contributor. Covalent gave them access to support know how and teams. It also added leading public domain products like the apache webserver and tomcat to their portfolio.
In june SpringSource announced their own application server.
Since then they have been hauling over big heads from competing application server vendors on board: the BEA WebLogic product manager, the JBoss (now a RedHat subsidiary) COO...
They came up with a RedHat-like support policy, where you get major releases for free, but have to pay for minor releases.
After a storm of community protest they have now changed that: the community will get the latest and greatest binaries (source was and remains free), but paying customers get patches incorporated in older builds.
The new policy looks fair.
Still Spring is a one company product in contrast with the Java ecosystem where you have choice. The fact that this company is going commercial only makes the dependency stronger.