我们在输入上接受UTF-8字符串中的各种国家字符,并且我们需要在输出上将它们转换为ASCII字符串以用于某些遗留用途.(我们不接受中文和日文字符,只接受欧洲语言)
我们有一个小实用程序来摆脱所有的变音符号:
public static final String toBaseCharacters(final String sText) {
if (sText == null || sText.length() == 0)
return sText;
final char[] chars = sText.toCharArray();
final int iSize = chars.length;
final StringBuilder sb = new StringBuilder(iSize);
for (int i = 0; i < iSize; i++) {
String sLetter = new String(new char[] { chars[i] });
sLetter = Normalizer.normalize(sLetter, Normalizer.Form.NFC);
try {
byte[] bLetter = sLetter.getBytes("UTF-8");
sb.append((char) bLetter[0]);
} catch (UnsupportedEncodingException e) {
}
}
return sb.toString();
}
Run Code Online (Sandbox Code Playgroud)
问题是如何更换所有德国尖锐s(ß,Đ,đ)和其他通过上述标准化方法的角色,以及它们的补充(如果是ß,补充可能是"ss",如果是od©补充可以是"D"或"Dj").
有没有一些简单的方法可以做到这一点,没有数百万的.replaceAll()调用?
例如:Đonardan= …
似乎没有一种简单的方法可以在现有的struts2-tiles插件中使用带有Struts2的Tiles 2.1或2.2.我需要在我的项目中使用tiles通配符功能,其中tiles.xml变得不可维护.
有没有办法用struts2设置图块2.1或2.2?怎么样?
谢谢,
博佐
在使用TopLink/EclipseLink在一个包含大约100个表的生产应用程序中进行多年开发之后,我们已经确定足够的并且JPA不值得增加其实际操作的复杂性和不确定性,以及SQL(使用DBUtil之类的包装器等等)像这样)可以为我们做正确的工作.
你能否建议如何将一个相当大的JPA应用程序迁移到JDBC/SQL,这样会让JPA仍在运行(即在带有GUI的webapps中),但这样我们仍然可以从"降级"到JDBC开始?
我们有实体和DAO,但我真正担心的是JPA entitycache(主要的) - 是否可以完全禁用它,以便JPA充当简单的connection.begin(); entries ... connection.commit(); 在过渡期间,直到我们彻底摆脱它?
我是C++的新手,但在Java EE方面有很多经验.
我需要编写一个非常异步的小应用程序.它从HTTP接收数据并将其存储在队列中(它需要有保证的传输和非常高的吞吐量),例如ActiveMQ或OpenMQ,可能通过JMS.
然后另一个C++应用程序/监听器从队列中取出数据(通过一些直接由队列激活的监听器,而不是我的池),连接到MySQL数据库并进行一些业务逻辑计算并将消息发送到另一个队列.
在Java EE中,这将是一个将消息发送到JMS队列的Web应用程序.Message-Driven Beans将成为EJB模块中这些消息的使用者,而Session EJB会将消息发送到传出的JMS队列.
有C++经验的人可以向我解释一些基础知识:
JMS是保证传递队列的唯一C++选项吗?您是否建议使用ActiveMQ或其他内容,请记住消费者将使用C++.
我是否需要在C++中创建某种类型的多线程守护进程来侦听Queue消息,或者这个线程创建(消息消费)是ActiveMQ实现C +消费者的一部分?
关于如何实现上述场景的任何其他建议将非常感谢.
编辑:我更喜欢消息代理和客户端使用C++.ActiveMQ是一种Java产品,它并不是我们真正需要的产品.
是否有一些简单的方法将从类路径加载文件的Properties类注入到EJB(3.1)中?
像这样的东西:
@Resource(name="filename.properties", loader=some.properties.loader)
private Properties someProperties;
Run Code Online (Sandbox Code Playgroud)
谢谢,
博佐
我们需要从C++应用程序(登录到应用程序,执行某些操作,注销)中执行一些相当复杂的Web自动化,但性能非常重要,因此我们正在考虑选项.
有没有办法直接从C++ 驱动WebKit或其他无头引擎,而不需要更多的层(如selenium + webdriver + network communication + ...)?也许是Chromedriver?
如果无法使用选项1,那么从C++运行WebDriver(使用真实浏览器)的最佳方式是什么?
是否可以在Java EE环境中创建DAO,它使用JPA,但不需要是无状态bean?我问,因为我有大量的EJB,只是因为我在DAO中需要一些@Resources,即EntityManager依此类推.
作为在大型项目中简化DAO的一种方法,您会建议在DAO中使用完整的EJB(而不是简单的对象)是偶然的.
从其他EJB和servlet访问DAO.