小编Edw*_*ale的帖子

如何使用带有使用Spring注入的字段的参数化JUnit测试运行器?

我正在使用Spring将目录的路径注入到我的单元测试中.在这个目录里有一些应该用来生成使用参数化测试用例的测试数据文件的参数测试运行.不幸的是,测试运行器要求提供参数的方法是静态的.这对我的情况不起作用,因为目录只能注入非静态字段.我有什么想法可以解决这个问题吗?

java junit spring

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

消息队列系统中的消息优先级本质上是不重要的吗?

似乎我所看到的大多数消息传递系统都具有对优先级消息队列的基本支持(如果有的话).例如,AMQP仅指定最少2个优先级.RabbitQQ是AMQP实现,不支持任何优先级.ActiveMQ将在几天内获得5.4版中10个消息优先级的支持.10个优先级是JMS规范指定的.

一个优先级队列基于与优先级的约束范围中的任意字段中字的非消息感命令其内容.为什么这样的实现不作为消息传递系统的一部分存在?正如我在标题中所说,优先考虑的是一种固有的非消息传递概念?

我意识到一个答案可能是优先级的概念引入了消息在队列中无限萎缩的可能性,同时处理了更高优先级的消息.还有其他原因吗?

messaging activemq-classic message-queue amqp rabbitmq

18
推荐指数
2
解决办法
2792
查看次数

从ArrayAdapter获取所有项目

我有一个ListFragment由一个ArrayAdapter人填充的支持Loader.当用户点击其中一个项目时,我想将对所选项目的引用以及列表项目的其余部分传递给另一个片段.我的问题是如何从适配器获取所有项目?以下是我看到的可能性:

1.保留对背景的参考 List

像这样创建适配器:

List<DomainObject> items = new ArrayList<DomainObject>();
listAdapter = new ArrayAdapter<DomainObject>(getActivity(), R.layout.mine, items);
Run Code Online (Sandbox Code Playgroud)

然后简单地将其items或副本传递给下一个活动.

我看到的缺点是我依赖于未记录的事实,即我传递给构造函数的相同列表稍后包含这些项目.

2.通过适配器迭代

单击某个项目时,遍历适配器并构建列表.这似乎是一项不必要的工作量.这些项目包含在List适配器的a 中,我手动将每个项目复制到一个新列表.

3.添加到适配器时,保留单独的项目列表

在将项添加到适配器之前,将其添加到我在片段中维护的单独列表中.这也是浪费,因为项目列表被复制在ArrayAdapter片段中.

android

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

在嵌入式UIWebView中指定HTTP referer

在我的应用程序中,我允许用户在嵌入式UIWebView中打开外部页面.我是否可以设置与该请求一起发送的referer标头?当用户打开这些外部页面时,我希望我的应用程序获得"信誉".

iphone http-referer mobile-safari http-headers ios

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

在gradle插件中获取应用程序变体的包名称

我正在构建一个gradle插件,为每个应用程序变体添加一个新任务.此新任务需要应用程序变体的包名称.

这是我目前的代码,它停止使用最新版本的android gradle插件:

private String getPackageName(ApplicationVariant variant) {
    // TODO: There's probably a better way to get the package name of the variant being tested.
    String packageName = variant.generateBuildConfig.packageName

    if (variant.processManifest.packageNameOverride != null) {
        packageName = variant.processManifest.packageNameOverride
    }
    packageName
}
Run Code Online (Sandbox Code Playgroud)

由于构建配置处理的更改,这已停止在最新版本的android插件中工作.无论如何它似乎是一个黑客,所以我不会感到惊讶它停止工作.是否有规范的方法来获取包名称?

android gradle android-gradle-plugin

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

包中只有一个类有代码味道吗?

拥有一个只包含一个类的包是不是一种坏习惯?将单个类移动到util包含其他随机有用类的包是否更有意义?

java oop packages

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

来自commons-httpclient-3.1的URIUtil.encodePath发生了什么?

我想做问题724043中描述的内容,即编码URI的路径组件.建议这样做的是来自Commons HttpClient 3.1的URIUtil.不幸的是,该类似乎已从最新版本的HttpClient中消失.来自HttpClient 4.1的类似命名的类URIUtils不提供相同的功能.这个类/方法是否被移动到我不知道的其他库或者它刚刚消失了?我最好只将3.1版本中的类复制到我的代码中,还是有更简单的方法?

java encoding uri escaping httpclient

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

在Redis中散列的原子GETSET

我将在Redis中为一些URL存储一个点击计数器.我打算使用哈希,因为这似乎有意义.它还具有原子增量功能,这对我的用例至关重要.

我经常将每个URL的命中数聚合到另一个数据存储中.为此,我想得到命中数并将其重置为零.我似乎找不到像GETSET这样适用于哈希的操作.如果我在获得命中计数和将其重置为零之间记录命中,则在没有某种原子操作的情况下它会丢失.

我错过了什么吗?我遇到的另一种选择是在我的客户端(python)代码中散列URL并使用字符串命令,但是当Redis提供散列本身时,这看起来有点像黑客.

hash atomic redis

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

这是一种常见的设计模式吗?"描述符模式"?

我正在做一个常见的设计模式吗?如果是这样,那叫什么名字?

我有一个复杂的对象,其中包含字符串和字符串列表等"简单"字段以及其他复杂对象.我想将此对象的实例添加到JMS消息队列,这意味着它们必须是Serializable.我不想制作整个对象图Serializable,所以我选择制作"Descriptor"对象,其中包含构建复杂对象的必要信息和可以创建对象的"Builder"对象.现在,我序列化"Descriptor"对象并将其添加到队列中.当对象出列时,它使用"Builder"构建到一个完整的对象中.

需要注意的重要一点是,对象是在其他系统上运行的作业.消息队列是一种方式,序列化仅发生在作业生命周期的开始.

java design-patterns

6
推荐指数
2
解决办法
2271
查看次数

FragmentActivity#onDetachFragment在哪里?

每次我将片段附加到我的活动时,我都想注册它以接收活动中的事件.这很容易,因为我可以覆盖FragmentActivity#onAttachFragment(Fragment).从活动中删除片段后,我想从接收事件中取消注册.我希望有一个onDetachFragment我可以以类似方式使用的事件,但我找不到它.

还有另一种方法可以完成我想要做的事情吗?我想在活动中保持注册/取消注册,而不是将其移动到基本片段类(我可以使用onAttach/ onDetach).

android android-fragments android-fragmentactivity

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