小编ton*_*edz的帖子

java集合接口中的继承

Java集合接口中存在一些继承关系.例如,Collection<T>接口将扩展Iterable<T>.我检查了JDK中的源代码,基类中定义的一些方法在子类中多次重复.例如: Interable<T>接口中定义的方法 Iterator<E> iterator();,但在接口Collection<E>List<T>,也含有相同的方法.根据我的理解,由于继承用于减少重复,为什么我们应该在子类中定义相同的方法?

java collections interface

7
推荐指数
2
解决办法
1836
查看次数

Selenium会等待JavaScript完成吗?

我正在使用Java/Selenium测试JavaScript API.

我在Java端发出这些命令,

executor.executeScript("setName('Hello');");
// Thread.sleep(2000);
String output = (String)executor.executeScript("return getName()");
assertEquals(output, "Hello");
Run Code Online (Sandbox Code Playgroud)

在JavaScript方面,这是一个异步函数,因此它需要一些时间并设置变量.

function setName(msg) {
    // simulate async call 
    setName(function(){name = msg;},1000);
}
Run Code Online (Sandbox Code Playgroud)

我需要等待这个异步函数完成,然后再转到Java assertEquals()执行的下一行.

如果不在Thread.sleep()Java端使用,有没有办法实现这一点.

谢谢

javascript java selenium

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

Jenkins Slave 403虽然已启用匿名从属连接

我们正在使用Jenkins Master和Slave(两种Linux)类型设置.最近升级到LTS版本,由于某种原因Slaves仅在Anonymous被授予Admin权限时连接到Master.

我已经阅读了有关提供匿名从属连接权限的帖子,但是当我尝试这个时,我收到403请求的禁止错误.

唯一的方法是提供匿名管理员权限(这是有风险的)保存它然后返回管理Jenkins>配置安全性>删除匿名管理>添加从属连接权限.执行此解决方法的问题是,当从属服务器重新启动时,我得到相同的403错误,直到我给出匿名管理员权限.

我试过放下一个没有帮助的新slave.jar.

我们正在使用LDAP绑定帐户,是否可以轻松修复此403问题而无需再次输入绑定密码(我们最近在Jenkins升级后执行此操作)

security slave jenkins

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

Sybase - 为打印日志语句设置控制台输出

有人知道如何在Sybase中打开控制台输出.通常的声明 print 'Hello',对我来说不起作用,只是说命令执行成功而不打印日志语句.

sql printing console sybase output

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

使用锁保护非易失性字段的初始化?

出于教育目的,我正在编写一个简单的版本AtomicLong,其内部变量受到保护ReentrantReadWriteLock.这是一个简化的例子:

public class PlainSimpleAtomicLong {

  private long value;

  private final ReentrantReadWriteLock rwLock = new ReentrantReadWriteLock();

  public PlainSimpleAtomicLong(long initialValue) {
    this.value = initialValue;
  }

  public long get() {
    long result;

    rwLock.readLock().lock();
    result = value;
    rwLock.readLock().unlock();

    return result;
  }

  // incrementAndGet, decrementAndGet, etc. are guarded by rwLock.writeLock()
}
Run Code Online (Sandbox Code Playgroud)

我的问题:由于"value"是非易失性的,其他线程是否有可能通过不正确的初始值来观察PlainSimpleAtomicLong.get()?例如,线程T1创建L = new PlainSimpleAtomicLong(42)并与线程共享引用T2.为T2保证遵守L.get()为42?

如果没有,包装this.value = initialValue;到写锁定/解锁会有所作为吗?

java concurrency

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

我可以重载具有不同参数的REST url资源吗?

使用相同的资源URL,是否可以根据参数调用下面的不同方法?

@POST
@Path("/resource/add")
@Consumes(MediaType.APPLICATION_JSON)
public Response add(Class1 arg1);

@POST
@Path("/resource/add")
@Consumes(MediaType.APPLICATION_JSON)
public Response add(Class2 arg2);
Run Code Online (Sandbox Code Playgroud)

java rest jax-rs

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

是否可以在不使用自定义小部件的情况下将单个对话框字段映射到多个JCR属性?

我在AEM项目中有一个配置,我想简化.

可以由两组用户更改配置.一个需要对一组参数进行精细控制,另一个只需要关注一个参数.

我没有编写自定义Ext JS插件来隐藏/显示字段并添加额外字段以在正常/简化模式之间切换,而是决定为那些对粒度配置不太感兴趣的人创建一个单独的组件.

在我dialog.xml的全功能组件中,我有以下字段:

<field1
    jcr:primaryType="cq:Widget"
    allowBlank="false"
    fieldLabel="Field 1"
    name="./field1"
    xtype="selection"
    type="select"
    options="/bin/myapp/fancyOptions.json" />
<field2
    jcr:primaryType="cq:Widget"
    allowBlank="false"
    fieldLabel="Field 2"
    name="./field2"
    xtype="selection"
    type="select"
    options="/bin/myapp/fancyOptions.json" />
<field3
    jcr:primaryType="cq:Widget"
    allowBlank="false"
    fieldLabel="Field 3"
    name="./field3"
    xtype="selection"
    type="select"
    options="/bin/myapp/fancyOptions.json" />
Run Code Online (Sandbox Code Playgroud)

在简化组件的对话框中,我只需要一个字段:

  • 领域

Field 1,Field 2Field 3的值应该从Field的值推断出来(在这种情况下,所有3个字段应该具有相同的值)

我不想引入单独的Sling Model或任何其他Adaptable,我希望保持内容结构的一致性,以便在后端更容易使用.

- myComponent
  - field1
  - field2
  - field3
Run Code Online (Sandbox Code Playgroud)

是否可以将Classic UI对话框中的一个字段映射到内容存储库中的多个属性,而无需创建自定义Ext JS小部件以单独发布它们?我可以写一个但我想尽可能避免它.

extjs sling aem

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

为什么要在函数及其原型上设置属性?

我试图理解JavaScript的OOP模型,所以我正在阅读这篇文章:https: //developer.mozilla.org/en-US/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript

以下代码很有趣:

function Person(gender) {
    this.gender = gender;
    alert('Person instantiated');
}

Person.prototype.gender = '';
var person1 = new Person('Male');
var person2 = new Person('Female');
//display the person1 gender
alert('person1 is a ' + person1.gender); // person1 is a Male
Run Code Online (Sandbox Code Playgroud)

有趣而且不清楚的是这一行:

Person.prototype.gender = '';
Run Code Online (Sandbox Code Playgroud)

我不明白所以我用该行测试了代码,没有它.

代码在两种情况下都能正常工作.

所以我的问题是:

为什么作者添加该行?

javascript oop prototype

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

如何实现RESTful进度指示器?

我希望我的API是RESTful

假设我已经使用POST启动了一个长期运行的Task,现在想知道进度了吗?

惯用的REST方法是什么?

每10秒轮询一次GET?

rest hateoas

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

如何在aem6的吊索模型中调整子节点

我正在学习使用AEM6的新功能之一 - Sling Models.我已按照此处描述的步骤获取节点的属性

@Model(adaptables = Resource.class)
public class UserInfo {

  @Inject @Named("jcr:title")
  private String title;

  @Inject @Default(values = "xyz")
  private String firstName;

  @Inject @Default(values = "xyz")
  private String lastName;

  @Inject @Default(values = "xyz")
  private String city;

  @Inject @Default(values = "aem")
  private String technology;

  public String getFirstName() {
    return firstName;
  }

  public String getLastName() {
    return lastName;
  }

  public String getTechnology() {
    return technology;
  }

  public String getTitle() {
    return title;
  }
}
Run Code Online (Sandbox Code Playgroud)

并从资源中调整它

UserInfo userInfo = resource.adaptTo(UserInfo.class); …
Run Code Online (Sandbox Code Playgroud)

aem sling-models

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