TypeCodec static initializers not always correctly executed

Description

The static initialisation order of the inner class in TypeCodec are not garanteed, and sometimes that causes the primitiveCodecs map to be initialised before LongCodec.instance is.

it happens on oracle java8 travid ci build box, but if I ran that

then it happens all the time

the primitiveCodecs should not depends on the static initialisers, it could instead create the instance itself.

during the build I then get the following error

or

see https://travis-ci.org/arnaudroger/SimpleFlatMapper/jobs/83902196

Environment

java8

Pull Requests

None

Status

Assignee

Unassigned

Reporter

ArnaudR

Labels

None

PM Priority

None

Reproduced in

None

Affects versions

Fix versions

Doc Impact

None

Size

None

External issue ID

None

External issue ID

None

Sprint

Priority

Major
Configure