- moneta-core-1.4.4.jar
- money-api-1.1.jar
Дело в том, что случайно, и скажем, в 5% случаев, когда я пытаюсь использовать FastMoney.of(), я получаю исключение ниже.
Простой вызов, который иногда завершается неудачей:
Код: Выделить всё
amount = FastMoney.of(
amount.value,
amount.currency,
),
Код: Выделить всё
"exception": "java.lang.ExceptionInInitializerError: Exception javax.money.UnknownCurrencyException: Unknown currency code: foo [in thread \"Thread-572\"]
at javax.money.spi.MonetaryCurrenciesSingletonSpi.getCurrency(MonetaryCurrenciesSingletonSpi.java:78)
at javax.money.Monetary.getCurrency(Monetary.java:382)\n\tat org.javamoney.moneta.FastMoney.(FastMoney.java:119)
Я проверил код и предполагаю, что DefaultMonetaryCurrencySingletonSpi::getDefaultProviderChain() возвращает список провайдеры в ПРОИЗВОЛЬНОМ порядке, некоторые из моих провайдеров могут не распознавать «код валюты без кода», но, к сожалению, не могут этого доказать.
Я ожидаю FastMoney.of(1, «EUR») , чтобы всегда работать.
Подробнее здесь: https://stackoverflow.com/questions/786 ... y-code-foo