小编Joã*_*oão的帖子

110
推荐指数
9
解决办法
15万
查看次数

长期存在的JMS会话.保持JMS连接/ JMS会话总是打开一个坏习惯吗?

保持JMS连接/会话/消费者总是打开一个坏习惯吗?

代码草案示例:

// app startup code

ConnectionFactory cf = (ConnectionFactory)jndiContext.lookup(CF_JNDI_NAME);
Connection connection = cf.createConnection(user,pass);
Session session = connection.createSession(true,Session.TRANSACTIONAL);
MessageConsumer consumer = session.createConsumer(new Queue(queueName));
consumer.setMessageListener(new MyListener()); 
connection.start();
connection.setExceptionListener(new MyExceptionHandler()); // handle connection error


// ... Message are processed on MyListener asynchronously ...


// app shutdown code

consumer.close();
session.close();
connection.close();
Run Code Online (Sandbox Code Playgroud)

有什么建议可以改善这种JMS使用模式吗?

java jms

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

如何忽略JAXB中的意外元素情况?

如何忽略JAXB中的意外元素情况仍然得到所有其他类型的javax.xml.bind.UnmarshalException?

obj = unmler.unmarshal(new StringReader(xml))
Run Code Online (Sandbox Code Playgroud)

注意我仍然想获得xml解析的obj结果.

xml jaxb

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

我想在Java中学习更多的语法糖!

例如C#中属性的语法糖:

private int x;

public int X{
    get { return x; }
    set { x = value; }
}
Run Code Online (Sandbox Code Playgroud)

或者干脆

 public int X{ get; set; }
Run Code Online (Sandbox Code Playgroud)

我在java中错过了逐字符串... @"C:\ My Documents \"而不是"C:\\ My Documents \\"

你是否同意Java需要更多"糖"?任何人都知道下一个Java版本中会有糖吗?

java syntactic-sugar

7
推荐指数
4
解决办法
4097
查看次数

停止/启动服务 - 处理 STOP_PENDING 和 START_PENDING

您如何使您的停止/启动服务脚本优雅地处理卡在 STOP_PENDING 或 START_PENDING 中的服务...

与 SC STOP 和 START 相关。通过批处理或 cmd 文件停止和启动服务?

我想到了一种方法,但我不喜欢它。

windows batch-file

5
推荐指数
2
解决办法
3万
查看次数

酷还是傻?Catch(异常[NamingException,CreateException] e)

我正在写一些代码,我注意到异常处理中的一个模式让我思考:

try{

        // do stuff... throws JMS, Create and NamingException

} catch (NamingException e) {

        log1(e);
    rollback();
        doSomething(e)
} catch (CreateException e) {

        log1(e);
    rollback();
        doSomething(e)
}
Run Code Online (Sandbox Code Playgroud)

JMSException将处理堆栈中的某些位置.

是不是只写:

try{

        // do stuff... throws JMS, Create and NamingException
} catch Exception[NamingException, CreateException] e) {

        log1(e);
    rollback();
        doSomething(e)
}
Run Code Online (Sandbox Code Playgroud)

而不是把它放在一个辅助方法:

try{

        // do stuff... throws JMS, Create and NamingException
} catch (NamingException e) {

        helper_handleError1(e)
} catch (CreateException e) {

        helper_handleError1(e)
}
Run Code Online (Sandbox Code Playgroud)

请注意,我想传播原始JMSException的堆栈跟踪,并且我"不想"使用第三个catch子句创建新的JMSException :)

有什么难事吗?这是一种极端的情况,只会污染Java的语法,还是只是添加一个很酷的东西?

java programming-languages exception-handling

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