小编rab*_*ens的帖子

Java 8:如何从Epoch值创建ZonedDateTime?

Java 8 LocalDateTime有一种ofEpochSecond方法.不幸的是,没有这样的方法ZonedDateTime.现在,我有一个Epoch值和一个明确的ZoneId给定.我怎样才能获得ZonedDateTime这些?

java epoch java-8 zoneddatetime

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

是否有可能在Ansible中定义playbook-global变量?

我有一个很大的Ansible playbook,在运行它时构建了Docker镜像.我使用越来越多的数字作为标签来版本化它们.目前,我必须在每个hosts:部分指定这一点.

我知道有全局变量但是通过搜索"ansible""全局变量"我发现它们,它们必须在剧本之外定义.是否有可能为剧本定义全局变量?

ansible

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

如何禁用RepositoryRestHandlerMapping和EndpointHandlerMapping?

我目前正在使用Spring Boot,Hibernate和Spring-HATEOAS构建一个带REST接口的应用程序.我的数据模型定义为带@Entity注释的bean,我使用Spring的功能自动设置Hibernate存储库(创建扩展接口PagingAndSortingRepository).我的应用程序是完全注解驱动的,即无我有,web.xml但一切配置与Spring的注解一样@Configuration,@Bean等等,并开始从我的应用程序main的帮助下方法SpringApplication.run(MyApp.class, args);

这工作正常,但使用这种方法,a RepositoryRestHandlerMappingEndpointHandlerMapping创建.这些创造了我既不需要也不想要的一堆资源.我实现自己的控制器,因为他们需要做的不仅仅是标准逻辑.

如何防止此默认行为并禁用这些映射?

spring spring-mvc spring-data-jpa spring-hateoas spring-boot

17
推荐指数
2
解决办法
7858
查看次数

尽管发布成功,但未指定"用于发布的存储库"

Settings.scala我的大型SBT项目中有一个单独的文件,其中包含以下内容:

lazy val commonSettings = Seq(
  // ... lots of settings
  publishTo :=
    Some("Sonatype Nexus Repository Manager" at
      "http://my.company.nexus/content/repositories/releases/"),
  credentials += Credentials(Path.userHome / ".ivy2" / ".credentials"),
  publishMavenStyle := true,
  crossScalaVersions := Seq("2.10.6"),
  // ... lots of other settings
)
Run Code Online (Sandbox Code Playgroud)

现在我的所有项目build.sbt都定义如下:

lazy val aProject =
  project.in(file("somewhere/aProject")).
    settings(commonSettings).
    settings(
      // project specific settings
    )
Run Code Online (Sandbox Code Playgroud)

当我现在这样做

sbt "+ publish"
Run Code Online (Sandbox Code Playgroud)

我看到我的所有工件都已发布,当我查看我的Nexus时,他们就在那里,我也可以将它们用作依赖项等,因此发布工作,但我最后得到以下内容:

java.lang.RuntimeException: Repository for publishing is not specified.
    at scala.sys.package$.error(package.scala:27)
    at sbt.Classpaths$$anonfun$getPublishTo$1.apply(Defaults.scala:1470)
    at sbt.Classpaths$$anonfun$getPublishTo$1.apply(Defaults.scala:1470)
    at scala.Option.getOrElse(Option.scala:120)
    at sbt.Classpaths$.getPublishTo(Defaults.scala:1470)
    at sbt.Classpaths$$anonfun$59.apply(Defaults.scala:1150)
    at …
Run Code Online (Sandbox Code Playgroud)

scala nexus sbt

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

如何使用ScalaTest以编程方式忽略/跳过测试?

我正在使用ScalaTest运行一些测试,这些测试依赖于连接来测试服务器是否存在.我目前创建了自己的Spec,类似于:

abstract class ServerDependingSpec extends FlatSpec with Matchers {

  def serverIsAvailable: Boolean = {
    // Check if the server is available
  }
}
Run Code Online (Sandbox Code Playgroud)

当此方法返回时,是否可以忽略(但不会失败)测试false

目前我是以"hackish"方式做到的:

"Something" should "do something" in {
  if(serverIsAvailable) {
    // my test code
  }
}
Run Code Online (Sandbox Code Playgroud)

但我想要类似的东西

whenServerAvailable "Something" should "do something" in { 
  // test code
}
Run Code Online (Sandbox Code Playgroud)

要么

"Something" should "do something" whenServerAvailable { 
  // test code
}
Run Code Online (Sandbox Code Playgroud)

我想我应该定义我的自定义标签,但我只能参考in或者的源代码,ignore我不明白我应该如何插入我的自定义实现.

我该怎么做到这一点?

scala scalatest

14
推荐指数
3
解决办法
6622
查看次数

如何保留YARN的日志文件?

突然,我的YARN集群已停止工作,我提交的所有内容都以"退出代码1"失败.我想跟踪该问题,但是一旦应用程序失败,YARN就会删除日志文件.为了保留这些日志文件,我必须为YARN调整什么配置设置?

hadoop hadoop-yarn

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

如何在Scala.js中使用AngularJS的模块配置?

在纯JavaScript中,您可以:

angular.module('mymodule', ['ionic'])
  .config(function($someParam1, $someParam2) {
    // do something with the parameters
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用Scala.js.我尝试了以下三次尝试,所有这些都失败了:

尝试1:使用scalajs-angular

Angular.module("mymodule", Seq("ionic")).config(MyConf)
Run Code Online (Sandbox Code Playgroud)

问题:MyConf必须扩展Config,我没有找到任何可以传递参数的位置.

尝试2:使用scalajs-angulate

Angular.module("mymodule", Seq("ionic")).config((a: Any, b: Any) => {...})
Run Code Online (Sandbox Code Playgroud)

应该工作,但我得到一个编译器错误:not found: value js

尝试3:使用动态类型的API

global.angular.module("mymodule", Seq("ionic")).config((a: Any, b: Any) => {...})
Run Code Online (Sandbox Code Playgroud)

编译,但{}内的内容不会被调用.

我现在能想到的唯一方法是编写一个基于javascript的"Bridge",它可以执行以下操作:

angular.module('mymodule', ['ionic']).config(function($a, $b) {
    com.example.myapp.MymoduleConfigurator.config($a, $b);
}
Run Code Online (Sandbox Code Playgroud)

这里com.example.myapp.MymoduleConfigurator是用Scala编写.

这是唯一的方法还是有更好的方法?

javascript scala angularjs scala.js ionic

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

AWS TimeStream:超过一天的记录将被拒​​绝

我在AWS TimeStream中创建了一个数据库表,其内存保留期为7天:

保留

但是,当我尝试上传 3 天前的数据时,它将被拒绝。似乎只接受超过 24 小时的数据:

2020-10-26T13:43:33.244+01:00: Rejected a record: The record timestamp is outside the time range [2020-10-25T12:38:33.242Z, 2020-10-26T13:18:33.242Z) of the memory store.
Run Code Online (Sandbox Code Playgroud)

这是我所期望的,还是我缺少配置选项?

amazon-web-services amazon-timestream

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

Scala:如何正确地抑制未经检查的警告/进行地图的模式匹配?

在测试调用中返回一个第三方函数Option[Any].我知道如果这个函数返回一个Map,它就是一个Map[String, Any].在这种情况下,我想检查各个地图元素.

theFunction(...) match {
  case Some(m: Map[String, Any]) =>
    m("some key") match {
      case some_condition => ... (my check)
    }
  case _ => fail("Invalid type")
}
Run Code Online (Sandbox Code Playgroud)

但是编译器警告说这case Some(m: Map[String, Any])是未经检查的.当我使用时Map[_,_],编译器会在我检查的位置挽救m("some key").

如何抑制此警告或更好:如何正确检查?我能想到的唯一方法就是这样

theFunction(...) match {
  case Some(m: Map[_,_]) =>
    val m1: Map[String, Any] = m.toSeq.map(t => t._1.asInstanceOf[String] -> t._2).toMap
    m1("some key") match {
      case some_condition => ... (my check)
    }
}
Run Code Online (Sandbox Code Playgroud)

但在我看来,这看起来很丑陋,并引入了不必要的地图转换为Seq,反之亦然.

scala

8
推荐指数
2
解决办法
6231
查看次数

是否可以使用Mockito的doCallRealMethod调用接口的默认实现?

假设我有以下界面:

public interface ISomething {

    default int doStuff() {
        return 2 * getValue();
    }

    int getValue();
}
Run Code Online (Sandbox Code Playgroud)

当我现在模仿这个界面时:

@Mock
private ISomething _something;

@Before
public void setup() {
    doCallRealMethod().when(_something).doStuff();
}
Run Code Online (Sandbox Code Playgroud)

并尝试测试doStuff()方法,如下所示:

@Test
public void testDoStuff() {
    when(_something.getValue()).thenReturn(42);
    assertThat("doStuff() returns 84", _something.doStuff(), is(84));
}
Run Code Online (Sandbox Code Playgroud)

我希望测试成功,但我得到:

org.mockito.exceptions.base.MockitoException:
Cannot call real method on java interface. Interface does not have any implementation!
Calling real methods is only possible when mocking concrete classes.
Run Code Online (Sandbox Code Playgroud)

我尝试ISomething使用这样的抽象类进行子类化:

public abstract class Something implements ISomething {
}
Run Code Online (Sandbox Code Playgroud)

像上面那样嘲笑这个类.通过这种方法,我得到了同样的结果.

Mockito不支持调用默认实现吗?

mockito

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