Gson使用存根序列化循环引用

我正在尝试实现一些简单的Json序列化function,但我很难应对Gson的大量复杂性。 所以基本上我有一堆实体类,它们通过大量的循环引用相互引用。 要将此结构序列化为JSON,我想跟踪已经序列化的对象。 Entity类都实现了一个名为Identified的接口,它有一个方法String getId()给出一个全局唯一的id。 因此,在对一个根元素进行序列化时,我希望将所有遇到的ID存储在一个Set并根据该集决定是否完全序列化对象或将该对象序列化为存根 “something”: { “__stub”: “true”, “id”: “…” } 在我看来,这不应该是一项艰巨的任务,但我无法将某些东西放在一起。 使用自定义JsonSerializer我不能以默认方式序列化一个对象(不能被序列化为存根)。 使用TypeAdapterFactory ,我无法访问实际对象。 所以,任何有关如何实现这一目标的帮助都会非常好! 最好的祝福

我应该何时关闭在无状态会话bean中创建的JMS连接?

我有一个关于何时关闭在无状态会话bean(EJB)中创建的连接的一般性问题。 连接到ActiveMQ,它们是在bean的构造函数中创建的。 然后在一个方法中使用该连接,我想知道何时关闭此连接的适当时间/地点。 有一个单独的方法来关闭连接,是否必须由类使用bean调用? 或者我应该只使用它关闭方法内的连接? 我担心我可能会关闭连接然后重新使用该bean与现在关闭的连接,因为连接在构造函数中打开。 这是一些代码: @Stateless @LocalBean public class SendEventsBean { private static String brokerURL = “…….”; private static transient ConnectionFactory factory; private transient Connection connection; private transient Session session; private transient MessageProducer producer; public SendEventsBean() { factory = new ActiveMQConnectionFactory(brokerURL); try { connection = factory.createConnection(); connection.start(); session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); producer = […]

Smooks EDI作家

在smooks网站上可以看到它支持EDI生成。 但是没有办法为edi writer指定配置(如在模式http://www.milyn.org/xsd/smooks/edi-1.1.xsd中定义的读取器的情况)。 在某些论坛的一些旧帖中,我看到smooks正计划这样一个作家。 是可用的么? 提前致谢。

检查URL中的内容:是文件还是网页?

我有一个应用程序需要根据URL的内容采取不同的操作。 如果内容是文件,我需要下载它。 但是,如果内容是网页,我需要打开它。 据我所知,有两种URL类型: 直接链接 。 例如: https : //dl-ssl.google.com/android/repository/android-14_r04.zip 直接链接 。 例如: http : //www.example.com/downloadfile?file = 12345 以及网页示例: https : //stackoverflow.com/questions/xxxxxx/how-to-check-a-url-contain 我只有以下代码来解析String到URL : String requestUrl = “https://dl-ssl.google.com/android/repository/android-14_r04.zip”; URL url = new URL(requestUrl); 所以,我的问题: 我该如何查看内容? 它是文件还是网页? 如果是文件,我如何从非直接链接检查内容? 提前致谢。

Android中的问题匹配正则表达式模式

我正在尝试搜索此字符串: ,”tt” : “ABC”,”r” : “+725.00″,”a” : “55.30”, 对于: “r” : “725.00” 这是我目前的代码: Pattern p = Pattern.compile(“([r]\”.:.\”[+|-][0-9]+.[0-9][0-9]\”)”); Matcher m = p.matcher(raw_string); 我一直在尝试模式的多种变体,并且永远找不到匹配。 第二组眼睛会很棒!

将字符串中的字符向左移动

我是Stack Overflow的新手,我对一个一直在逃避我的编程课有一个实验室问题。 问题要求我们将字符串s的元素向左移动k次。 例如,如果输入是“Hello World”和3,则输出“lo WorldHel”)。 对于非常大的k值,它还必须相对有效地工作。 这是我到目前为止: String cyclicLeftShift(String s, int k){ String result=””; for(int i=0;i<k;i++){ result = s.substring(1, s.length() – 1) +s.charAt(0); s=result; } return s; } 我的主要问题是原始字符串的最后一个字符不断被循环的后续迭代覆盖。 我已经尝试了大量的排列,包括将整个事物转换为数组(这违反了原始问题中的效率限制)。 我觉得有一件小事我没有得到,我想知道是否有人可以给我一个正确方向的推动? 谢谢!

查询JOIN FETCH性能问题

我有hibernate查询性能的问题,我无法弄清楚。 在下面的代码片段中,我需要选择具有至少一个映射和过滤映射的实体。 我正在使用FETCH JOIN来加载仅过滤的映射。 但在这种情况下,我的查询存在性能问题。 Hibernate说警告日志: org.hibernate.hql.ast.QueryTranslatorImpl – 使用collection fetch指定的firstResult / maxResults; 在记忆中应用! 当我省略FETCH JOIN并且只剩下JOIN查询时很快。 但结果我将所有映射加载到实体,这对我来说是不可接受的状态。 有没有办法提高查询性能? 映射表中有很多行。 HQL查询: select distinct e from Entity join fetch e.mappings as mapping where e.deleted = 0 and e.mappings is not empty and e = mapping.e and mapping.approval in (:approvals) 实体: @Entity @Table(name=”entity”) class Entity { … @OneToMany(mappedBy=”entity”, cascade=CascadeType.REMOVE, […]

SPNEGO用Java提示密码多次

我正在使用spnego http://spnego.sourceforge.net在我的系统上进行单点登录,问题是还要输入正确的密码,它会一次又一次地提示。 有时,如果您键入两次,则可以加入系统,有时您需要输入相同用户和密码的10倍以上才能访问系统。 登录系统后,可以在随机时间,一次又一次地多次提示密码。 提前致谢

如何将图片添加到javaFX 2.0 netbeans项目中

您好,谢谢您的时间。 我是Netbeans的新手,我正在使用Netbeans的Netbeans 7.1 RC1版本。 我遇到的问题是我似乎无法将图像添加到项目中。 我正在JavaFX 2.0中设计一个Web应用程序,需要一个jpg图片作为我的背景。 我需要知道如何将此图片添加到Netbeans文件系统,以便能够从我的程序中调用它。 任何帮助表示赞赏。 再次感谢

如何设置JMenuItem的大小?

正如你所看到的,拥有这些JMenuItem很难看。 菜单项的宽度非常小。 这是代码: JMenu menuOne=new JMenu(“MenuOne”); JMenu menuTwo=new JMenu(“MenuTwo”); JMenu menuThree=new JMenu(“MenuThree”); JMenu menuFour=new JMenu(“MenuFour”); JMenuBar mbar=new JMenuBar(); //add the menu to menubar mbar.add(menuOne); JMenuItem OneItOne=new JMenuItem(“1”); JMenuItem OneItTwo=new JMenuItem(“2″); menuOne.add(OneItOne); menuOne.addSeparator(); menuOne.add(OneItTwo); mbar.add(menuTwo); mbar.add(menuThree); mbar.add(menuFour); setJMenuBar(mbar); 只需在String中添加一些空格即可(例如”1 ” ),但有没有更好的方法来设置JMenuItem的首选长度? 我尝试过OneItTwo.setSize() ,但失败了。