Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change default driver in XStreamMarshaller from XppDriver to DomDriver #27464

Closed
2 tasks done
sbrannen opened this issue Sep 24, 2021 · 0 comments
Closed
2 tasks done
Assignees
Labels
in: data Issues in data modules (jdbc, orm, oxm, tx) type: enhancement A general enhancement
Milestone

Comments

@sbrannen
Copy link
Member

sbrannen commented Sep 24, 2021

Overview

As explained in commit a247b83, the XppDriver from XStream relies on the XPP3 library which publishes javax.xml.namespace.QName as part of its JAR. The QName type is also published by the java.xml system module in modular JREs (i.e., Java 9 or higher).

This results in a split package between the unnamed module and the java.xml system module, which the Java Language Specification defines as illegal (see §6.5.5.2 and §7.4.3).

Most Java compilers do not currently enforce this rule; however, the Eclipse compiler does. This makes it impossible to use spring-oxm out-of-the-box in the Eclipse IDE. In addition, if bug JDK-8215739 is fixed in a future version of OpenJDK, this rule will affect all users of spring-oxm.

In light of that, the team has decided to switch the default driver in XStreamMarshaller from XppDriver to DomDriver. Users can naturally switch back to the XppDriver if they wish, since the defaultDriver is configurable.

Deliverables

  • Change default driver in XStreamMarshaller from XppDriver to DomDriver.
  • Revert related changes in a247b83.
@sbrannen sbrannen self-assigned this Sep 24, 2021
@sbrannen sbrannen added in: data Issues in data modules (jdbc, orm, oxm, tx) type: enhancement A general enhancement labels Sep 24, 2021
@sbrannen sbrannen added this to the 6.0 M1 milestone Sep 24, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
in: data Issues in data modules (jdbc, orm, oxm, tx) type: enhancement A general enhancement
Projects
None yet
Development

No branches or pull requests

1 participant