小编Ant*_*val的帖子

使用dom4j清理命名空间处理

我们正在使用dom4j 1.6.1来解析来自某个地方的XML.有时,应答器提到了命名空间(例如:),有时候没有().并且它调用Element.selectSingleNode(String s)失败.

目前我们有3个解决方案,我们对它们不满意

1 - 在对xml文档执行任何操作之前删除所有命名空间

xml = xml .replaceAll("xmlns=\"[^\"]*\"","");
xml = xml .replaceAll("ds:","");
xml = xml .replaceAll("etm:","");
[...] // and so on for each kind of namespace
Run Code Online (Sandbox Code Playgroud)

2 - 在获取节点之前删除命名空间通过调用

Element.remove(Namespace ns)
Run Code Online (Sandbox Code Playgroud)

但它仅适用于节点和第一级子节点

3 - 使代码混乱

node = rootElement.selectSingleNode(NameWithoutNameSpace)
if ( node == null )
    node = rootElement.selectSingleNode(NameWithNameSpace)
Run Code Online (Sandbox Code Playgroud)

所以你怎么看 ?女巫一个是不是更糟糕?你有其他解决方案吗?

java namespaces dom4j

8
推荐指数
3
解决办法
1万
查看次数

Hibernate/JPA是否考虑了transiant修饰符(而不是注释)

我想避免序列化(在JMS/AMF中),但仍然使用JPA/Hibernate保持字段.

transient修改我的朋友?@Transient注释和transient修饰符是否相关?

java规范精确地指出,瞬态字段不会被系统服务保存到持久存储中.但是hibernate是一个系统服务吗?(我不这么认为) http://java.sun.com/docs/books/jls/second_edition/html/classes.doc.html#78119

并且java.io.Serialisable接缝表明a out.writeObject and in.readObject要求序列化 http://download.oracle.com/javase/1.4.2/docs/api/java/io/Serializable.html

任何见解?

也许我应该写一个快速测试,但我会对一个规范更有信心.

谢谢 !

java serialization persistence hibernate jpa

6
推荐指数
1
解决办法
3292
查看次数

列出<Byte>到String,你能帮助重构这个(小)方法吗?

我们使用这种小实用方法.但我们不喜欢它.因为它不是非常关键(无论如何......),我们已经忘记了它.
但这很难看,因为我们必须通过整个数组,只是将它转换Byte[]byte[].
我在看 :

  • 如何Byte[]byte[]不经过它的情况下施放
  • 或者用于将List转换为字符串的实用程序方法

public static String byteListToString(List<Byte> l, Charset charset) {
    if (l == null) {
        return "";
    }
    byte[] array = new byte[l.size()];
    int i = 0;
    for (Byte current : l) {
        array[i] = current;
        i++;
    }
    return new String(array, charset);
}
Run Code Online (Sandbox Code Playgroud)

java arrays bytearray

5
推荐指数
1
解决办法
7028
查看次数

我的枚举是正确的吗?

在我们的项目中,我们都有这种枚举.它们工作得很好,但我们不确定它们.

特别是使用getDocumentType(String)方法.

有没有办法避免迭代所有的Enums字段?

public enum DocumentType {

    UNKNOWN("Unknown"),
    ANY("Any"),
    ASSET(Asset.class.getSimpleName()),
    MEDIA(Media.class.getSimpleName()),
    MEDIA35MM(Media.class.getSimpleName() + " 35mm");


    private String label;

    private DocumentType(String label) {
        this.label = label;
    }

    public String getLabel() {
        return label;
    }

    public static DocumentType getDocumentType(String label){
        for(DocumentType documentType : DocumentType.values()){
            if(documentType.getLabel().equals(label)){
                return documentType;
            }
        }
        return UNKNOWN;
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:检查newacct响应.她也没事.

java enums correctness

5
推荐指数
1
解决办法
460
查看次数

如果做一个新的日期(0L),时代不是时代.为什么?

我的问题很简单:

如果我这样做:

public class Main {

public static void main(String[] args) throws Exception {
        Date d = new Date(0L );
        System.out.println(d);
}

}
Run Code Online (Sandbox Code Playgroud)

我得到以下输出:Thu Jan 01 01:00:00 CET 1970

根据文件,我期待:1970年1月1日00:00:00 CET 1970年

我想错了......

编辑:的确,我读得太快了.我应该在1970年1月1日00:00:00 GMT

那么,我如何强制使用GMT,并忽略所有当地时间?

编辑,解决方案:

public static void main(String[] args) throws Exception {
    SimpleDateFormat sdf = new SimpleDateFormat("H:m:s:S");
SimpleTimeZone tz = new SimpleTimeZone(0,"ID");
sdf.setTimeZone(tz) ;
Date d = new Date(0L );
System.out.println( sdf.format(d));
}
Run Code Online (Sandbox Code Playgroud)

java date epoch

4
推荐指数
1
解决办法
3430
查看次数

在DAO层之外使用@ org.springframework.transaction.annotation.Transactional?

我有一个非常经典的问题:在DAO之外访问Lazy Collection,导致LazyInitializationException.

这是一个干净而合理的解决方案,使用@Transactional这些服务的一些方法,在DAO之外,谁使用这些懒惰的集合?

谢谢

java spring hibernate transactions

4
推荐指数
1
解决办法
1570
查看次数

javax.servlet.Filter对性能的影响?

我想知道是否有关于使用过滤器的成本的硬数据?例如,在使用servlet上的遗产来共享行为或使用过滤器之间?

谢谢,

安托万

java performance servlets servlet-filters

4
推荐指数
1
解决办法
2810
查看次数

Phoenix:具有相同资源的 JSON 和 HTML 表示

我开始在教程之外使用 Phoenix 作为一个小用例。到目前为止很好,但我对以下内容感到有些吃惊。

我有一个资源“录音”,我想在 JSON 中的 /api/recordings 和带有模板的 /recording 访问,结果是 HTML。

理想情况下,Ecto 表示将是唯一的,甚至控制器的一部分也将被共享?

现在我要么有 2 个资源记录 API 和记录 HTML,要么有 2 个控制器和 1 个资源。

有什么例子吗?我一直在寻找其中一个,但没有找到用于同一资源的 :api 管道和 :browser 管道。

谢谢

elixir ecto phoenix-framework

2
推荐指数
1
解决办法
335
查看次数

Web-App:跟踪数据库中应用程序的版本?

我们正在构建一个webapp,它作为debian包发送给几个客户端.每个客户端运行自己的服务器.但更新和支持由我们完成.我们定期发布产品,版本号干净.大多数用户获得自动更新(通过Puppet),而其他一些用户则没有.

我们希望保留应用程序版本的跟踪(以便允许用户在"关于"部分中检查版本,以及我们支持更准确地帮助用户).

我们计划在我们的数据库中存储代码版本和基础版本,并自动保持信息的最新状态.

这是一个好主意吗 ?

我们看到的另一种选择是文件.

编辑:代码和数据库架构一起更新.(如果我们更新到版本xyz,代码和数据库都转到xyz)

database versioning web-applications

1
推荐指数
1
解决办法
200
查看次数

flex itemRenderer的工作原理如何?(他们的生命周期)

通过工作,我的意思是:项目渲染器如何实现,调用,破坏......什么是生命周期?

我有一些显示错误,这个链接打开了我的想法 http://livedocs.adobe.com/flex/201/html/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Book_Parts&file=cellrenderer_072_14.html

(flex3的文档是相同的)

但我想知道更多.任何链接或知识分享?

apache-flex itemrenderer

0
推荐指数
1
解决办法
5864
查看次数