如何从Web容器外部查找JNDI数据源?

我有以下环境设置: Java 1.5 Sun Application Server 8.2 Oracle 10 XE Struts 2 过冬 我很想知道如何编写可以引用应用程序服务器提供的JNDI数据源的Java客户端(即Web应用程序之外)的代码。 Sun Application Server的端口都是默认端口。 服务器配置中有一个名为jdbc / xxxx的JNDI数据源,但我注意到Web应用程序的Hibernate配置使用名称java:comp / env / jdbc / xxxx。 到目前为止,我见过的大多数例子都涉及代码 Context ctx = new InitialContext(); ctx.lookup(“jdbc/xxxx”); 但似乎我要么使用错误的JNDI名称,要么我需要配置jndi.properties或其他配置文件来正确指向监听器? 我有来自Sun Application Server的appserv-rt.jar,里面有一个jndi.properties,但似乎没什么帮助。 这里有一个类似的问题,但它没有给出任何代码/指的是让iBatis自动获取JNDI数据源: 从Web容器外部访问数据源(通过JNDI)

Java Swing OSX窗口菜单图标对齐

Java Swing似乎在MenuItems上的图标(如果存在)之后放置了“菜单文本”。 见下面的例子。 它看起来不是很好。 有没有解决的办法? 在OSX上,图标适合左边距,文本与所有其他MenuItem对齐。

如何知道已分离的JPA实体是否已被保留?

我的应用程序的Web UI层中有一个JPA实体实例。 我想随时知道这个实体是否已经存在于数据库中,或者它是否仅存在于用户会话中。 它将在业务层,我会使用entitymanager.contains(Entity)方法,但在我的UI层中,我认为我需要一个额外的属性来指示实体是否已被保存。 怎么实现呢? 我正在考虑暂时关注选项: 具有由数据库设置的默认值的JPA属性,但在每次更新后会强制执行新读取吗? 在我的代码中手动设置或由JPA自动设置的非JPA属性? 有什么建议/其他建议吗? 我正在使用JPA 1与Hibernate 3.2实现,并希望坚持标准。

ECDSA使用BouncyCastle签名并使用Crypto ++进行validation

这是Java代码: public static String sign(String data) throws Exception { KeyPair keyPair = loadKeyPair(System.getProperty(“user.dir”), “ECDSA”); Signature signature = Signature.getInstance(“SHA256withECDSA”, “BC”); signature.initSign(keyPair.getPrivate(), new SecureRandom()); byte[] message = data.getBytes(); signature.update(message); byte[] sigBytes = signature.sign(); String signatureStr = new BigInteger(1, sigBytes).toString(16); return signatureStr; } 然后用C ++代码validation签名 bool VerifyMessage( const ECDSA::PublicKey& key, const string& message, const string& signature ) { […]

在Java中剥离无效的XML字符

我有一个XML文件,它是数据库的输出。 我正在使用Java SAX解析器来解析XML并以不同的格式输出它。 XML包含一些无效字符,解析器会抛出“无效的Unicode字符(0x5)”之类的错误 除了预先处理文件并替换它们之外,有没有一种方法可以去除所有这些字符? 到目前为止,我遇到了3个不同的无效字符(0x5,0x6和0x7)。 这是一个~4gb的数据库转储,我们将要处理它多次,所以每次我们得到一个新的转储来运行一个预处理器时,不得不再等30分钟,这将是一个痛苦,这不是我第一次遇到这个问题。

如何在对象之间切换时摆脱矩形内的圆

我有一个combobox,我可以选择绘制矩形,圆形或手绘。 如果我选择绘制一个圆圈,它会完美地绘制它。 如果我然后切换到绘制一个矩形,它会在矩形内部绘制一个圆圈。 如果我先选择绘制一个矩形然后再绘制一个圆圈,也会发生同样的情况。 (见下图) 我的问题是: 如何在没有圆形出现在矩形内的情况下在绘制圆形和矩形之间切换? 在拖动鼠标时,如何显示矩形/圆圈。 我的意思是在我释放鼠标点击之前线条如何显示? 为什么不用手工绘图呢? 这是我的测试类: import java.awt.*; import java.awt.event.*; import java.util.*; import javax.swing.*; public class Lab6 extends JFrame implements ActionListener { int startX, startY, endX, endY, w, h; ArrayList shapeList = new ArrayList(); Container cp = getContentPane(); private JPanel topPanel; private JComboBox comboBox; private final String[] boxOptions = new […]

序列图逆向工程

我正在寻找一种工具,可以将Java反向工程为序列图。但也提供了过滤掉某些库调用的function。 例如,Netbeans IDE在这方面做得非常出色,但它包括对String或Integer的所有调用,这会使图表混乱到无法使用的程度。 任何帮助是极大的赞赏!!!!!!!

如何解析Sub JSONArray并显示图像?

我是一名php程序员,我正在努力学习JAVA。 我在尝试解析json文件时遇到问题。 这已经有3天了……对此感到头疼。 我正在创建一个Android应用程序(使用JAVA)来解析json文件。 这是json数据样本( http://metalgearrisingguide.com/samplejson.json )以及如何显示图像? 当我尝试时,我的logcat出现以下错误,模拟器上没有显示任何内容 Error parsing data org.json.JSONException: Value {“product”:[{“summary”:”Speak a word and the knob will turn by itself”,”state”:”good”,”image”:”http:\/\/upload.wikimedia.org\/wikipedia\/commons\/e\/e9\/Door_Knob_with_Lock_USA.jpg”,”title”:”Special Door knob requires no holding just music”,”address”:[{“address”:”Merchant address 1″},{“address”:”merchant address 2″}],”url”:”http:\/\/merchantwebsite.com”},{“summary”:”This door bell will detect faces of known people and change music if unknown”,”state”:”good”,”image”:”http:\/\/www.thedoorbell.net\/images\/DoorbellHeader.jpg”,”title”:”Special Door Bell that uses face recognition technology”,”address”:[{“address”:”Merchant address […]

如何反转使用FirebaseUI-Android获取的数据?

我尝试使用FirebaseUI-Android lib在Recycler-view中简单地显示数据集。 借助push()方法,数据存储在Firebase的列表中。 当我获得数据时,我首先获得了最早的数据,而我的要求是最年轻的。 所以我需要一个相反的顺序。 有没有办法用FirebaseUI本身做到这一点? 使用Firebase Core,似乎只有两种可能的方式(来自显示post的降序发布顺序 ): 获取所有数据,并在运行时恢复它们(强制执行),感谢@Kato片段 在写入时为列表中的每个项目设置递减优先级。 这要求我们知道在启动数据拉动创建时的每个(今天和明天)订购用法。 通常情况并非如此。 有没有其他(旧的或新的)选项来做这个简单的主框架工作?

添加两个变量后BeanCreationException

有人可以告诉我如何通过BeanCreationException? 在向Owner.java添加两个变量后,我得到一个BeanCreationException ,如下所示: @OneToMany(cascade = CascadeType.ALL, mappedBy = “owner”, fetch=FetchType.EAGER) private Set pets; //I added the following two variable declarations @Transient private Set cats = new HashSet(); @Transient private Set dogs = new HashSet(); 我还为猫和狗添加了getter和setter方法,以及将猫和狗作为宠物子集填充的方法,如下所示: public void parsePets() { for (Pet pet : getPetsInternal()) { if (pet.getType().getName().equals(“cat”)) {cats.add(pet);} else if (pet.getType().getName().equals(“dog”)) {dogs.add(pet);} } } protected […]