Денежная и валютная операция Java - JSR 354

Мне было просто любопытно, если бы кто-нибудь знал, будет ли JSR 354 иметь официальную реализацию как часть любого будущего JDK.

Когда я ищу JDK 11 документов в Интернете - это не похоже на Monetary а также MonetaryAmount классы не включены. Но реализация JSR 354 существует в Github под jsr354-ri.

Означает ли это, что я могу написать свою собственную реализацию, если я не хочу следовать эталонной реализации? Моя цель - поддержать дополнительные валюты, например китайский юань ренминби (оффшорный) CNH, который не имеет официального признания ISO, но он хорошо известен.

Спасибо,

2 ответа

Спасибо за вклад до сих пор. В качестве одного из назначенных новых руководящих указаний по техническому обслуживанию (также см. Раздел "Передача бюллетеня") я могу дать более официальный ответ с нашей стороны.

Как вы, возможно, знаете, Oracle удалил многие функции из Java 11, JavaFX, вероятно, самая заметная "жертва", которая была выпущена в экосистему Open Source при поддержке нескольких других компаний, нескольких сотрудников Oracle и других членов сообщества.

JavaMoney, более широкий проект, стоящий за JSR 354 и некоторыми его расширениями, всегда играл похожую роль. После Передаточного бюллетеня одна компания (Trivadis) и 2 отдельных члена EG являются лидерами по обслуживанию. Плюс ко многим другим добавлены расширения, включая такие громкие имена, как Red Hat или Zalando. Таким образом, JSR 354 и вероятное продолжение (также известное как JavaMoney 2.x) дополняют Java SE подобно тому, как OpenJFX, Apache NetBeans или другие усилия Open Community обходятся, не будучи неотъемлемой частью JDK. Я говорил с сотрудником Oracle, знакомым с OpenJDK, на Eclipse Community Day, и он подтвердил, что в интересах Oracle также сосредоточиться на основных функциях JDK, в то время как другие поставщики и сообщества предоставляют вокруг него дополнительные функции. Плюс к будущему Money JSR в рамках "итеративного" плана выпуска, разработанного для самого JDK, но открытого для другого JSR, мы планируем предлагать регулярные выпуски в темпе, который соответствует потребностям сообщества. Если Италия или другая страна потеряют свое место в еврозоне из-за чрезмерного долга или из-за другой ситуации, подобной ситуации с "брекситом", то валюты этих стран изменятся. И независимый Money JSR может немедленно отреагировать на это, предоставив необходимые изменения, не дожидаясь JDK.

  1. Изначально JavaMoney предназначался для включения в JDK, но затем было решено сделать его как спецификацию JavaEE. Как вы, возможно, знаете, начиная с JDK11, классы JavaEE не являются частью JDK, и их следует устанавливать как любую другую обычную зависимость, например, через Maven.
  2. Да, вы можете добавить любые пользовательские валюты, и это поддерживается прямо из коробки. Вам необходимо добавить экземпляр CurrencyProviderSpi, как описано в руководстве Регистрация пользовательских валют.
Другие вопросы по тегам