小编lon*_*uro的帖子

是否有可能检测到Android应用程序是测试版还是生产版?

我们在Google Play商店中使用测试阶段.对于应用程序端强制更新功能,我们希望检测我们的应用程序是来自测试阶段还是来自Google Play商店的生产阶段.这在Android应用程序中是否可行?

android google-play

21
推荐指数
2
解决办法
3217
查看次数

Java 8:为什么Metaspace大小增加但加载类的数量保持不变?

在我们在Jdk 8上运行的应用程序中,我们使用VisualVM来跟踪加载类的使用情况和元空间的使用情况.

在我们的应用程序运行的某个时间点,我们看到加载的类的数量不再增加,但是在我们的程序运行时,元空间的大小仍然增加.那么除了类之外还有哪些东西存储在元空间中,这可能会导致这种情况呢?

jvm java-8 metaspace

17
推荐指数
1
解决办法
2836
查看次数

如何处理Kafka Connect Sink中的背压?

我们构建了一个自定义Kafka Connect接收器,后者又调用远程REST API.如何将背压传播到Kafka Connect基础架构,因此在远程系统比内部消费者向put()传递消息的速度慢的情况下,调用put()的频率较低?Kafka连接文档说我们不应该在put()中阻塞,而是在flush()中阻塞.但是put()中没有阻塞意味着我们必须缓冲数据,如果put()被调用的频率高于flush(),那么在某些时候肯定会导致OOM异常.我已经看到允许kafka使用者在循环()中调用pause()或阻塞.是否有可能在卡夫卡连接接收器中利用它?

apache-kafka apache-kafka-connect

11
推荐指数
1
解决办法
369
查看次数

Scala Value类和Mockito Matchers不能一起玩

在Mockito Mocks(Matchers)中使用Scala的值类会导致NullPointerException,请参阅以下示例:

import org.scalatest.FunSuite
import org.scalatest.mock.MockitoSugar._
import org.mockito.{Matchers, Mockito}

class Id(val underlying: Int) extends AnyVal

class MockitoValueClassSuite extends FunSuite {

  trait Sample {
    def doIt(id: Id) : Int
  }

  test("Check value classes in scala with mockito") {
    val sampleMock = mock[Sample]

    val id = new Id(1)

    Mockito.when(sampleMock.doIt(Matchers.eq(id))).thenReturn(5)

    assert(sampleMock.doIt(id) == 5)
  }
}
Run Code Online (Sandbox Code Playgroud)

结果是:

java.lang.NullPointerException was thrown.
java.lang.NullPointerException
    at net.gutefrage.service.user.service.MockitoValueClassSuite$$anonfun$1.apply$mcV$sp(MockitoValueClassSuite.scala:21)
    at net.gutefrage.service.user.service.MockitoValueClassSuite$$anonfun$1.apply(MockitoValueClassSuite.scala:16)
    at net.gutefrage.service.user.service.MockitoValueClassSuite$$anonfun$1.apply(MockitoValueClassSuite.scala:16)
    at org.scalatest.Transformer$$anonfun$apply$1.apply(Transformer.scala:22)
Run Code Online (Sandbox Code Playgroud)

有什么提示可以在这做什么?

scala mockito

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

在Scala 2.11中进行模式匹配的穷举检查

我们有一些模式匹配代码,我们期望编译器警告匹配并非详尽无遗,但我们得不到.是否存在无法进行详尽检查的情况?

例如我们的例子(使用scalactic Good + Bad):

(maybeModelIdOrFailure, maybeMake) match {

    case (Some(Good(modelId)), Some(makeId)) if modelId >= 0 && taxonomyService.isValidModel(makeId, modelId) =>
      Good(Some(MakeModelParameters(makeId, Some(modelId), modelLineId = None, index)))

    case (Some(Good(modelLineId)), Some(makeId)) if modelLineId < 0 && taxonomyService.isValidModelLine(makeId, -1 * modelLineId) =>
      Good(Some(MakeModelParameters(makeId, modelId = None, modelLineId = Some(-1 * modelLineId), index)))

    case (Some(Good(modelOrModelLineId)), Some(makeId)) =>
      Bad(One(IdNotFound(modelIdKeyName, modelOrModelLineId)))

    case (Some(Good(modelId)), None) if modelId >= 0 =>
      Bad(One(IdInvalid(modelIdKeyName, "Model Id without Make Id")))

    case (Some(Good(modelLineId)), None) if modelLineId < 0 =>
      Bad(One(IdInvalid(modelIdKeyName, "Model Line …
Run Code Online (Sandbox Code Playgroud)

scala pattern-matching

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

使用Scala和Jackson以及java.lang.Integer或scala.Int对泛型类型进行奇怪的反序列化问题

我们都知道泛型类型在Java和Scala下受类型擦除的影响.但是我们使用Jackson和Scala Jackson Module在Scala中遇到了一个奇怪的问题.

我创建了一个小测试来显示问题.

import com.fasterxml.jackson.databind.ObjectMapper
import com.fasterxml.jackson.module.scala.DefaultScalaModule

object GenericTest {

  case class TestWithInt(id: Option[Int])
  case class TestWithInteger(id: Option[Integer])

  def main(args: Array[String]) {

    val mapper = new ObjectMapper()
    mapper.registerModule(DefaultScalaModule)

    // Test with scala's Int
    val test = mapper.readValue[TestWithInt]("""{ "id" : 5 }""", classOf[TestWithInt])
    print("Test 1: ")
    println(test.id.get +  1)

    val test2 = mapper.readValue[TestWithInt]("""{ "id" : "5" }""", classOf[TestWithInt])
    print("Test 2: ")
    try {
      println(test2.id.get + 1)
    } catch {
      case e: ClassCastException => println(e.getMessage)
    }

    // Test with java.lang.Integer
    val …
Run Code Online (Sandbox Code Playgroud)

java generics json scala jackson

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

通过添加一个字段通过 Java API 扩展 Avro 模式

我使用 Scala 的 Avro 的 Java API,想知道是否有一种简单的编程方法可以使用 Avro GenericRecord / SchemaBuilder API 将字段添加到现有记录模式?

avro

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

是否可以在Slick查询模板中使用List或Set类型的参数?(提升的API)

是否可以在预编译的Slick查询中将集合用作参数?

就像是:

private val findByIds = for {
  ids <- Parameters[Set[Int]]
  meta <- AssetMetadatas if meta.id inSet ids
} yield meta
Run Code Online (Sandbox Code Playgroud)

不幸的是上面没有编译:

不知道如何拆开scala.collection.immutable.Set [INT]到scala.collection.immutable.Set [INT]和包装,以任何IDS < - 参数[设置[INT]] ^

scala slick

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

是否可以在Scala中包含两个或更多上下文绑定类

如何指定我需要例如ClassTag和T的订购?

def sort[T: ClassTag <and> Ordering](future: Future[Seq[T]]): Future[Seq[T]]

scala context-bound

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

Kafka Connect Schemas背后的原因是什么?

我们正在编写一个自定义接收器连接器,用于将带有avro消息的主题内容写入CEPH存储.

为此,我们提供了SinkRecords,它具有Kafka Connect架构,它是我们的avro架构的映射版本.由于我们要将avro写入CEPH,因此我们使用connect API方法将Connect架构转换回Avro.为什么我们需要这样做?引入Kafka Connect Schema而不使用更常用的Avro Schema有什么好处?

仅供参考:我问这个是因为我们与Avro工会有一些问题.他们与Kafka Connect Schema的映射仍存在一些问题,例如https://github.com/confluentinc/schema-registry/commit/31648f0d34b10c1b36e8ec6f4c1236ed3fe86495#diff-0a8d4f17f8d4a68f2f0d2dcd9211df84

avro apache-kafka apache-kafka-connect confluent-schema-registry

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

使用提升嵌入时如何在一个案例类字段中组合多个列?

我们有一个MySQL表,其中包含几个布尔列,用于指定用户可能拥有的角色.是否可以使用光滑的提升嵌入来编写一个类型映射器,它将这些多个列组合并转换为案例类中的一个字段用户,如下所示?

case class User(id: Option[Int], nickname: String, role: Seq[Role.Role])

object Users extends Table[(User)]("ask_user") {
      def id = column[Int]("id", O.PrimaryKey, O.AutoInc)
      def nickname = column[String]("nickname")
      def is_editor = column[Boolean]("is_editor")
      def is_moderator = column[Boolean]("is_moderator")
      def is_administrator = column[Boolean]("is_administrator")
      def is_usermoderator = column[Boolean]("is_usermoderator")
      def is_usermoderator2 = column[Boolean]("is_usermoderator2")
      def is_partner = column[Boolean]("is_partner")
      def is_premium_partner = column[Boolean]("is_premium_partner")
      def is_corporate_paid = column[Boolean]("is_corporate_paid") 
    }
Run Code Online (Sandbox Code Playgroud)

scala slick

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

Scala TypeTags或Manifest:是否可以确定类型是否为Value类?

如何确定对象是否为值类类型,以便在下面的示例中测试将打印出id是AnyVal?

class MyId(val underlying: Int) extends AnyVal

class AnyValSuite extends FunSuite {

  class Sample {
    def doIt[T](t: T)(implicit tag: TypeTag[T]): Unit = {
      if(???) println(s"$t is an AnyVal")     
    }
  }

  test("Getting info if a type is a value class") {
    new Sample().doIt(new MyId(1))
  }
}
Run Code Online (Sandbox Code Playgroud)

@senia:谢谢你的回答.工作完美.是否也可以找出Value类包装的原始类型?

现在扩展示例:

class MyId(val underlying: Int) extends AnyVal
class NonAnyValId(val underlying: Int)

class AnyValSuite extends FunSuite {

  class Sample {
    def doIt[T](t: T)(implicit tag: TypeTag[T]): Unit = {
      if(implicitly[TypeTag[T]].tpe <:< typeOf[AnyVal]) println(s"$t is an AnyVal") …
Run Code Online (Sandbox Code Playgroud)

scala

0
推荐指数
1
解决办法
487
查看次数