Skip to content

Fix JibxMarshallerTests failing on Windows #59

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

Closed
wants to merge 2 commits into from
Closed

Fix JibxMarshallerTests failing on Windows #59

wants to merge 2 commits into from

Conversation

sslavic
Copy link
Contributor

@sslavic sslavic commented Mar 20, 2012

Before this change JibxMarshallerTests would fail on Windows with error
message explaining that JiBX compiler generated classes are not found
on classpath for binding with name 'binding'. Tests would execute well
on Linux.

Actual root cause of this bug is found to be in JiBX 1.1.5 release that
is used to build Spring. Binding name can be explicitly specified in
JiBX binding file. If omitted, when generating classes JiBX compiler as
fall-back mechanism tries to derive binding name from binding file
name. That logic had bug which gets manifested when configured binding
file path has mixed Windows and Linux style file separators, as in case
when mentioned JibxMarshallerTests are executed on Windows platform.

This pull request contains two commits for two different solutions for this
issue. See respective commit comments for more details.

Issue: SPR-8360

I have signed and agree to the terms in the SpringSource Individual Contributor License Agreement.

sslavic and others added 2 commits March 20, 2012 19:08
Before this change JibxMarshallerTests would fail on Windows with error
message explaining that JiBX compiler generated classes are not found
on classpath for binding with name 'binding'. Tests would execute well
on Linux.

Actual root cause of this bug is found to be in JiBX 1.1.5 release that
is used to build Spring. Binding name can be explicitly specified in
JiBX binding file. If omitted, when generating classes JiBX compiler as
fall-back mechanism tries to derive binding name from binding file
name. That logic had bug which gets manifested when configured binding
file path has mixed Windows and Linux style file separators, as in case
when mentioned JibxMarshallerTests are executed on Windows platform.

This change introduces one of the two possible solutions - binding name
is specified explicitly in binding.xml file so JiBX doesn't have to use
the fall-back mechanism.

Issue: SPR-8360
Before this change JibxMarshallerTests would fail on Windows with error
message explaining that JiBX compiler generated classes are not found
on classpath for binding with name 'binding'. Tests would execute well
on Linux.

Actual root cause of this bug is found to be in JiBX 1.1.5 release that
is used to build Spring. Binding name can be explicitly specified in
JiBX binding file. If omitted, when generating classes JiBX compiler as
fall-back mechanism tries to derive binding name from binding file
name. That logic had bug which gets manifested when configured binding
file path has mixed Windows and Linux style file separators, as in case
when mentioned JibxMarshallerTests are executed on Windows platform.

This change introduces one of the two possible solutions - since this
bug was fixed in JiBX 1.2 (see JIBX-441 for more details), dependency
to JiBX is upgraded from 1.1.5 to the latest 1.2.3 release.

For build to pass with this change, public access to 1.2.3 version of
JiBX has to be granted on SpringSource libs-release repository
(http://repo.springsource.org/libs-release).

Issue: SPR-8360
@poutsma
Copy link
Contributor

poutsma commented Mar 21, 2012

I prefer to do the JiBX update, i.e. commit 86eba90

cbeams added a commit that referenced this pull request May 17, 2012
* SPR-8360:
  Fix JibxMarshallerTests failing on Windows
@cbeams
Copy link
Contributor

cbeams commented May 17, 2012

86eba90 has been committed as 51ae684, just updating the commit comment. Stevo, also notice that this was submitted with your yahoo.com address, whereas your other commits have been from gmail. I updated this as well.

Thanks!

@cbeams cbeams closed this May 17, 2012
@itcai
Copy link

itcai commented Jul 30, 2014

The problem still exist in 3.2.x branch and I tried your solution, but it didn't work.
Error messages:
org.jibx.runtime.JiBXException: Unable to access binding 'binding'
Make sure classes generated by the binding compiler are available at runtime

org.jibx.runtime.JiBXException: Unable to access binding information for class org.springframework.oxm.jibx.Flights
Make sure the binding has been compiled

BTW, OS is WIN7 64bit with JDK8

rwinch pushed a commit to rwinch/spring-framework that referenced this pull request Jul 13, 2016
This commit changes the AbstractResponseBodySubscriber into a
AbstractResponseBodyProcessor<DataBuffer, Void>, so that the processor
can be used as a return value for writeWith.

Additional, this commit no longer closes the response after an eror
occurred.

This fixes spring-projects#59.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants