问题标签 [jsr354]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - OSGI 中的 Java 货币参考实现
我正在使用此处找到的 Java money (JSR354) 参考实现:http: //javamoney.github.io/ri.html
但是,我在 OSGI 环境中使用它。这给了我以下例外:
使用 Java 货币类时不会引发异常,而是仅记录该异常。一切正常,但是这个异常总是在我的日志中弹出,这对我和我的同事来说非常烦人。
我已经将问题追溯到图书馆中的这个类:
updateConfig() 方法抛出异常。MonetaryConfig 构造函数记录它。出现问题是因为线路
返回同一文件的 2 个 url,即:“bundleresource://7.fwk302155142/javamoney.properties”和“bundleresource://7.fwk302155142:3/javamoney.properties”。
我检查了 .JAR 文件,只有 1 个属性文件,它肯定被读取了两次。
问题的真正根源在于资源的加载方式。在 OSGI 中,这不是加载资源的方式(您应该从包中获取资源)。但是,我不知道如何修改这个库加载资源的方式(除了修改和重新编译源,我不想这样做)。
加载此库以使其正常工作时,我可以使用任何 OSGI 技术吗?
编辑:我的清单包类路径
java - 在 JavaMoney (JSR 354) 中创建 ExchangeRateProvider 的推荐方法是什么?
我们已经开始使用新的 1.0 版JavaMoney API和参考实现。由于我们有应该使用的特定 Exchangerates,我们需要实现我们自己的ExchangeRateProvider。我们创建了一个扩展org.javamoney.moneta.spi.AbstractRateProvider的类 MyRateProvider,并将 MyRateProvider-name 添加到文件 META-INF/services/javax.money.convert.ExchangeRateProvider。它可以工作,但 org.javamoney.moneta 中的所有其他提供程序也会被加载,即使我们不打算使用它们。有没有办法避免这种情况?
java - 覆盖 javamoney.properties 中的属性?
使用新的 1.0 版本的JavaMoney API和参考实现,我们尝试通过覆盖 javamoney.properties 来阻止资源加载器加载其他 ExchangeRateProvider。
但是,日志告诉我它们仍在加载中:
从 LoaderService 接口“从不”触发加载本地资源(而不是远程),但我也尝试过“懒惰”。
我们注意到的是,在 org.javamoney.moneta.internal.convert 的 ExchangeProviders 的构造函数中,有一个对 loader.loadDataAsync 的调用:
这与DefaultLoaderService中的registerData方法中的情况“ONSTARTUP”相同:
这可能是无论我在 javamoney.properties 中放什么都会加载它的原因吗?
我们如何完全关闭其他 ExchangeRateProviders?我们只想使用我们的自定义ExchangeRateProvider。
java-money - Using JSR-354 ExchangeRates prevents application from exiting
I'm trying to use JavaMoney 1.0 in my application and noticed that when using default ExchangeRateProvider
s, some threads will still be running when my application finishes.
I'm aware that provided ExchangeRateProvider
s are, by default, configured to regularly fetch rates but it seems that there is a deadlock somewhere or that the thread(s) are not marked as daemons.
Or maybe there is a way to shutdown ExchangeRateProvider
s that I am not aware of.
java - 有没有办法从一个完整的美分值构造一个 MonetaryAmount ?
给定一个以整美分整数表示的价格点,即199 = $1.99
,是否有一种 API 方法可以构造一个MonetaryAmount
?
一种简单的方法是将金额除以 100,但想知道是否有用于此的 API 方法。
java-money - Monetary.of(new BigDecimal("100.00"), "EUR") 打印 "EUR 1E+2"
所以这里的问题是:为什么这样:
打印“EUR 1E+2”,但任何其他小数 != .00 将打印正确:
“100.01 欧元”???
java - 使用 Moneta (JavaMoney) JSR354 实现自定义 MonetaryAmountFormat
我对如何MonetaryAmountFormat
使用 Moneta JSR-354 实现自定义 a 感到非常困惑。
我的意图是能够同时解析和1.23
解析。$3.45
MonetaryAmount
这是我的单元测试:
这是我的课:
我真的很希望能够解析bidStr
有或没有$
使用 single MonetaryAmountFormat
,但是在花了很多时间试图找出如何使$
optional 之后,我放弃了。不幸的是,我什至无法弄清楚如何将其1.23
解析为美元。莫内塔投出一个NullPointerException
。我应该使用 设置货币AmountFormatQueryBuilder
吗?可以使用 设置的所有键是AmountFormatQueryBuilder
什么?我搜索了文档,但除了几个常用键(例如pattern
.
java - JSR-354 java money moneta 指定代理
我正在尝试使用 Moneta API 进行货币转换,所以我称之为:
不幸的是,我得到了这个例外:
我很确定这是因为我在公司防火墙后面。有没有办法指定代理?Myabe 在某些属性文件中?
java - 为什么 javax.money.CurrencyUnit 不可序列化?
为什么不javax.money.CurrencyUnit
延伸自java.io.Serializable
?它的所有子类型都实现java.io.Serializable
了,最重要的是,如果你想在你的休眠映射中使用它,那么 findbugs 会阻止你(非常正确),因为:
这是否意味着必须JDKCurrencyAdapter
在一个人的休眠映射中使用该类?我更喜欢使用接口,但如果不可能,那么我将使用该类。
java - 获取 javax.money.CurrencyUnit 的显示名称
我有一个实例,javax.money.CurrencyUnit
我想在给定的语言环境中显示它的名称(例如“美元”、“欧元”、“日元”等)。我已经阅读了所有文档,但我唯一能找到的是如何格式化 a MonetaryAmount
:
我可以看到我在那里指定CurrencyStyle.NAME
,所以它会在结果中返回货币名称,但问题是我没有 aMonetaryAmount
并且我找不到CurrencyUnit
.
谢谢