小编afr*_*ish的帖子

JMS和ESB - 它们是如何相关的?

对我来说,JMS和ESB似乎是非常相关的东西,我试图了解它们究竟是如何相关的.

我已经看到JMS可以用作ESB的传输的句子 - 那么除了传输之外的其他什么应该存在于这样的ESB中?JMS是一个简单的ESB,或者如果不是,那么真正的ESB缺少什么?

esb jms

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

以编程方式隐藏android.support.v7.widget.Toolbar

在我的活动中,我做:

setSupportActionBar(toolbar);
Run Code Online (Sandbox Code Playgroud)

其中toolbar是android.support.v7.widget.Toolbar的一个实例

之后有什么方法可以隐藏并以编程方式显示工具栏小部件吗?我已经试过了

toolbar.setVisibility(View.INVISIBLE);
Run Code Online (Sandbox Code Playgroud)

但是这只会让它看不见而且它仍然占用空间,所以活动的内容在它之后开始,我在标题中看到了空格.

android android-activity android-toolbar

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

import static vs. static final

在过去,我经常在Java类中使用"import static"构造.最近我意识到,而不是

import static my.pack.A.MY_CONSTANT;
Run Code Online (Sandbox Code Playgroud)

您可以使用

import my.pack.A;

public class B {
    private static final MY_CONSTANT = A.MY_CONSTANT;
}
Run Code Online (Sandbox Code Playgroud)

这种方法最明显的优点是:

  1. 您可以在Eclipse中使用重构来轻松地A.B.C.CONSTANT.ANOTHER_ONE.TOO_LONG从代码中删除所有长常量表达式,而不会弄乱静态导入(在Eclipse中不能很快掌握)
  2. 您可以为任何表达式指定任何名称,这在当前上下文中可能更有意义.

例如:

private static final PAYMENT_TYPE = PaymentType.CASH;
...
calculateSomething(amount, PAYMENT_TYPE);
Run Code Online (Sandbox Code Playgroud)

代替

import static my.pack.PaymentType.CASH
...
calculateSomething(amount, CASH);
Run Code Online (Sandbox Code Playgroud)

如果默认的PaymentType值更改为CREDIT_CARD,这也更容易重构.

我的问题是:与静态导入相比,这种方法有任何缺点,还是可以在任何地方使用?

我现在唯一关心的是生成的编译.class文件,这可能与所描述的两种方法不同.因此,理论上性能和内存使用可能会受到影响.

java memory import performance constants

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

通过Google HTTP客户端的Multipart Request to Box API

我想借助Google HTTP Client v1.14.1在Box API中调用这个特定的方法http://developers.box.com/docs/#files-upload-a-file.目前我认为没办法这样做.

如果我使用http://hc.apache.org/httpclient-3.x/methods/multipartpost.html,我会添加2项StringPart和1项FilePart.

在Google HTTP Client库中,我只看到MultipartContent和Part类似乎无法处理纯名称/值对,如上面引用的StringPart.

以下是Apache HTTP Client示例的摘录:

HttpPost httppost = new HttpPost("http://localhost:8080" +
                "/servlets-examples/servlet/RequestInfoExample");

FileBody bin = new FileBody(new File(args[0]));
StringBody comment = new StringBody("A binary file of some kind");

MultipartEntity reqEntity = new MultipartEntity();
reqEntity.addPart("bin", bin);
reqEntity.addPart("comment", comment);

httppost.setEntity(reqEntity);
Run Code Online (Sandbox Code Playgroud)

我想完成类似的事情,但使用谷歌HTTP客户端.欢迎大家提出意见!

google-api box-api google-http-client

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