UnknownCurrencyException: Неизвестный код валюты: fooJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 UnknownCurrencyException: Неизвестный код валюты: foo

Сообщение Anonymous »

Я использую Moneta 1.4 и включил в свой путь к классам:
  • moneta-core-1.4.4.jar
  • money-api-1.1.jar
Я проверял путь к классам и видел (также в документации), что Moneta использует Функциональность ServiceProviders из языка Java для расширения функциональности Money-API.
Дело в том, что случайным образом, скажем, в 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»