小编Sco*_*ott的帖子

Angular 6私有方法

我们从5升级到Angular 6.我们有一个共享库,我们遇到了构建错误.作为一个Java商店,我们养成了将组件方法和属性标记为私有的习惯.在Angular 6中构建我们的库(在转换和使用新的库CLI功能之后),我们得到:

Property 'getCurrentYear' is private and only accessible within class.
Run Code Online (Sandbox Code Playgroud)

实际上,模板html中使用的任何属性或方法都不能在组件类上标记为私有.当然,我们可以通过删除'private'修饰符来解决这个问题.当我们使用https://github.com/raphael-volt/ng2-testable-lib生成我们的库时,在角度5中不是这种情况.

奇怪的是,只有在编译我们的库时才会发生这种情况.我们将应用程序升级到角度6,该模型还具有模板中组件/用法的私有属性和方法,并且没有问题.

我们找到了错误吗?有没有我们不遵守的最佳做法?

private shared-libraries angular

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

Eureka缓慢删除实例

我正和尤里卡做一个POC.当我关闭服务实例时,它目前需要大约3分钟才能在Eureka控制台中显示.我假设(但不自信)这也意味着这个被击落的实例仍然可以被客户发现?

通过调试,我可以看到服务器多次运行evict任务,然后确定我关闭的实例上的租约已过期.

我的设置是客户端:

eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/
eureka.instance.statusPageUrlPath=${management.context-path}/info
eureka.instance.healthCheckUrlPath=${management.context-path}/health

eureka.instance.leaseRenewalIntervalInSeconds=5

eureka.client.healthcheck.enabled=true
eureka.client.lease.duration=2
eureka.client.leaseExpirationDurationInSeconds=5

logging.level.com.netflix.eureka=DEBUG
logging.level.com.netflix.discovery=DEBUG
Run Code Online (Sandbox Code Playgroud)

服务器:

server.port=8761

eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false

logging.level.com.netflix.eureka=DEBUG
logging.level.com.netflix.discovery=DEBUG

eureka.server.enableSelfPreservation=false
Run Code Online (Sandbox Code Playgroud)

我也在服务器上尝试过这些设置:

eureka.server.response-cache-update-interval-ms: 500
eureka.server.eviction-interval-timer-in-ms: 500
Run Code Online (Sandbox Code Playgroud)

这些似乎增加了检查但不减少服务器识别实例的时间减少.

我错过了一个设置吗?是否有最佳实践来关闭生产中的实例以立即获得此实例?

谢谢!

spring-boot netflix-eureka

6
推荐指数
0
解决办法
2210
查看次数

Angular maxlength 属性阻止输入?

旧的 ng-maxlength="5" 用于引发字段错误,但将继续允许用户输入。maxlength="5" 似乎正在阻止输入。因为我的表单上有 novalidate ,所以这样做是有角度的吗?当我看到人们实际测试 error.maxlength 的例子时,是否应该阻止它?

这是我的表单片段:

<form #myForm="ngForm"  novalidate>

  <h2>{{ hero.name | uppercase }} Details</h2>
  <div><span>id: </span>{{hero.id}}</div>

    <input #inputElement name="heroName" class="form-control"  [(ngModel)]="hero.name" required maxlength="5" #heroName="ngModel">

</form>
Run Code Online (Sandbox Code Playgroud)

我们希望像 ng-maxlength 这样的行为,因为我们认为它对用户来说更清楚。也就是说,不是阻止输入,而是允许用户继续键入但显示错误。我是否做错了什么,或者我们是否需要创建自己的自定义验证指令来替换 maxlength?

angular

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

试图理解角度缓存破坏

我正在运行 angular 6。当使用 --prod 构建时,脚本会使用诸如 main.547a75c48dc342a8e291.js 之类的名称生成。我认为这是每次生成的唯一名称,但它似乎是相同的。

angular CLI 如何生成这个名字?我是否应该提供另一种选择以确保每次我们进行生产构建时它都是独一无二的?

build browser-cache angular

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

具有 RabbitMQ 客户端身份验证异常的 QPID 代理

我正在使用 Java QPID 代理进行测试。我能够使用质子客户端发送和接收消息,但使用匿名身份验证。我有兴趣在打开身份验证的情况下进行测试,并了解质子客户端不支持(尚)。因此,我下载了 rabbitMQ 客户端 jar。我正在使用密码文件身份验证(随 QPID 一起提供)。

我像这样设置我的 RabbitMQ 客户端连接工厂:

    connectionFactory = new ConnectionFactory();
    connectionFactory.setHost("localhost");
    connectionFactory.setUsername("guest");
    connectionFactory.setPassword("guest");
Run Code Online (Sandbox Code Playgroud)

此行上的代码失败(特别是在 getConnection 上)。

    connection = RabbitMQConnectionFactory.getInstance().getConnection();
Run Code Online (Sandbox Code Playgroud)

这是例外:

java.io.IOException:找不到兼容的身份验证机制 - 服务器在 com.rabbitmq.client.impl.AMQConnection.start(AMQConnection.java:309) 处提供 [CRAM-MD5] 在 com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory) .java:590) 在 com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:612) 在 com.vue.rabbit.core.RabbitMQConnectionFactory.getConnection(RabbitMQConnectionFactory.java:37) 在 com.vue.rabbit.producer。 SimpleProducer.main(SimpleProducer.java:25)

如果我将 QPID 代理更改为使用匿名身份验证,并且还将客户端更改为不设置用户/密码,则会收到类似的“服务器提供 [ANONYMOUS]”异常

难道我做错了什么?这些应该是兼容的?有点不同的问题是,如果 Java 和 C++ QPID 代理都支持相同的在线 AMQP 协议,为什么还要存在它们?在此先感谢您的帮助!

java authentication amqp rabbitmq qpid

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