我想知道在使用@BypassInterceptorsSeam进行编程时社区可以给我什么建议使用注释?我一直在阅读增加Seam应用程序性能,并且每篇文章都提到添加此注释可以提高性能.我的问题是,应该在哪里应用?是否有一般规则说"在编写可以安全应用XXX的组件时@BypassInterceptors"?例如,我应该将它应用于我的实体类吗?DAO怎么样?我很想知道其他人在做什么,以及你在正确应用它时会看到什么样的性能提升.
我正试图在PostgreSQL 9.3上的Hibernate Spatial 4.0中运行一个简单的查询.我在表中有许多具有纬度/经度值的对象,我正在尝试查询属于特定纬度/经度的给定半径范围内的对象.几何值似乎没有任何问题持久化,并在我的实体类中定义如下:
@Column(columnDefinition = "Geometry", nullable = true)
@Type(type = "org.hibernate.spatial.GeometryType")
private Point coordinates = null;
Run Code Online (Sandbox Code Playgroud)
持久保存具有coordinates值集的对象时,我没有任何错误.但是,当我运行查询时,我看到以下异常:
javax.servlet.ServletException: javax.servlet.ServletException: javax.ejb.EJBTransactionRolledbackException: org.hibernate.exception.GenericJDBCException: could not extract ResultSet
<snip />
org.postgresql.util.PSQLException: ERROR: Invalid endian flag value encountered.
org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2157)
org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1886)
org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:555)
org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:417)
org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:302)
org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:462)
org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:56)
org.hibernate.loader.Loader.getResultSet(Loader.java:2031)
org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1832)
org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1811)
org.hibernate.loader.Loader.doQuery(Loader.java:899)
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:341)
org.hibernate.loader.Loader.doList(Loader.java:2516)
org.hibernate.loader.Loader.doList(Loader.java:2502)
org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2332)
org.hibernate.loader.Loader.list(Loader.java:2327)
org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:490)
org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:355)
org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:195)
org.hibernate.internal.SessionImpl.list(SessionImpl.java:1268)
org.hibernate.internal.QueryImpl.list(QueryImpl.java:101)
org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:264)
Run Code Online (Sandbox Code Playgroud)
我正在运行的查询如下所示:
Query query = this.entityManager
.createQuery(
"SELECT v FROM MyEntity v WHERE within(v.coordinates, :filter) = true",
MyEntity.class);
query.setParameter("filter", point); …Run Code Online (Sandbox Code Playgroud) 我正在Swift 4中编写一组将在Linux上运行的服务.我需要做的一件事是接收使用加密消息语法(CMS)格式进行数字签名的有效负载,提取用于签名的证书,然后验证签名.我知道Linux上的Swift不包含用于此类事情的Security或CommonCrypto框架,所以我在OpenSSL中链接以尝试帮助解决这个问题.我距离我的C/C++编程时间已经有两年了,所以我很乐意承认我对这部分代码感到满意.
我有2个简单的类来充当OpenSSL BIO和PKCS7数据结构的包装器.它们看起来像这样:
import Foundation
import OpenSSL
public final class BIOWrapper {
public var bio = BIO_new(BIO_s_mem())
public init(data: Data) {
data.withUnsafeBytes { pointer -> Void in
BIO_write(self.bio, pointer, Int32(data.count))
}
}
public init() {}
deinit {
BIO_free(self.bio)
}
}
public final class PKCS7Wrapper {
public var pkcs7: UnsafeMutablePointer<PKCS7>
public init(pkcs7: UnsafeMutablePointer<PKCS7>) {
self.pkcs7 = pkcs7
}
deinit {
PKCS7_free(self.pkcs7)
}
}
Run Code Online (Sandbox Code Playgroud)
我能够成功提取PKCS#7容器数据并验证数据类型代码值是否正在NID_pkcs7_signed使用此代码:
let reqData = Data(bytes: reqBytes)
guard reqData.count > 0 else { …Run Code Online (Sandbox Code Playgroud) 我开始学习 SwiftUI,因此我决定编写一个简单的密码管理器作为学习练习。我protocol在密码中定义了通用属性:
protocol Secret: Codable {
var id: String { get set }
var name: String { get set }
var createdDate: Date { get set }
var favorite: Bool { get set }
var category: SecretCategory { get set }
var notes: String { get set }
init(_ id: String, name: String)
init(_ id: String, name: String, favorite: Bool)
}
Run Code Online (Sandbox Code Playgroud)
然后,我定义了几个 Swiftstruct来实现这一点protocol并定义各种类型的秘密的属性:
struct LoginSecret: Secret, Identifiable {
var id: String
var name: String …Run Code Online (Sandbox Code Playgroud) 我们正在开发一个Java Web应用程序,它的UI使用JSF(Richfaces通过Seam).我读过几篇文章,指出在UI组件上使用"rendered ="属性会导致相当大的性能损失.我们有几个组件,我们想根据它们的值是否设置来启用或禁用.例如,如果我们要显示待售商品,我们就不会为未设置的属性设置一堆空白字段.
然而,鉴于这种性能影响,我们担心使用多个"渲染"字段.有更好的替代品吗?我们可以做些什么来改善使用这个领域的表现吗?
是否可以手动将bean注入CDI上下文?使用JBoss Seam框架,我总是可以做类似的事情Contexts.getConversationContext().set("foo", bar);,而Bean将成为该上下文的一部分.是否可以在Java EE 6 CDI中执行类似的操作?
我正在尝试在 JPA 文件中定义一些 PostgreSQL 函数和触发器import.sql。我使用 Hibernate 5.x 作为我的底层 JPA 提供程序。由于我的import.sql文件包含多行命令,因此我在persistence.xml文件中设置了此属性:
<property name="hibernate.hbm2ddl.import_files_sql_extractor" value="org.hibernate.tool.hbm2ddl.MultipleLinesSqlCommandExtractor" />
Run Code Online (Sandbox Code Playgroud)
从那里开始,我尝试在import.sql. 它们看起来像这样:
DROP FUNCTION IF EXISTS update_total_feedback_count() CASCADE;
CREATE FUNCTION update_total_feedback_count() RETURNS TRIGGER AS
$$
DECLARE
application_version_id BIGINT := 0;
app_version_metadata_id BIGINT:= 0;
application_id BIGINT := 0;
app_metadata_id BIGINT := 0;
BEGIN
IF (TG_OP = 'INSERT') THEN
SELECT INTO application_version_id tbl_application_version.id
FROM tbl_application_version
INNER JOIN tbl_feedback ON tbl_feedback.application_version_id = tbl_application_version.id
WHERE tbl_feedback.id = NEW.id;
SELECT INTO app_version_metadata_id tbl_application_version.application_version_metadata_id …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 Terraform 0.12.0 创建 ACM 证书以应用于我的 Amazon ALB。我可以在没有证书的情况下创建我的 ALB,没有问题。整个基础架构堆栈按预期构建和部署。现在,我添加了以下代码来创建 Route 53 验证记录、请求证书并将其分配给新的 ALB 侦听器:
资源 "aws_route53_zone" "main" { name = "${var.zone_name}" }
resource "aws_route53_record" "validation" {
name = "${aws_acm_certificate.main.domain_validation_options.0.resource_record_name}"
type = "${aws_acm_certificate.main.domain_validation_options.0.resource_record_type}"
zone_id = "${aws_route53_zone.main.zone_id}"
records = ["${aws_acm_certificate.main.domain_validation_options.0.resource_record_value}"]
ttl = "60"
}
resource "aws_acm_certificate_validation" "main" {
certificate_arn = "${aws_acm_certificate.main.arn}"
validation_record_fqdns = "${aws_route53_record.validation.*.fqdn}"
}
resource "aws_alb_listener" "front_end_tls" {
load_balancer_arn = "${aws_alb.main.id}"
port = "443"
protocol = "HTTPS"
ssl_policy = "ELBSecurityPolicy-2016–08"
certificate_arn = "${var.certificate_arn}"
default_action {
target_group_arn = "${aws_alb_target_group.main.id}"
type = "forward" …Run Code Online (Sandbox Code Playgroud) ssl-certificate amazon-web-services terraform aws-certificate-manager terraform-provider-aws
我正在尝试创建一个 PostgreSQL 11.5 docker 容器。这样做时,我想运行一个 SQL 脚本来创建必要的用户、表等。但是,每当容器启动时,我都会看到以下错误:
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.
The database cluster will be initialized with locale "en_US.utf8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".
Data page checksums are disabled.
fixing permissions on existing directory /var/lib/postgresql/data ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting …Run Code Online (Sandbox Code Playgroud) 我正在开发我的第一个 SwiftUI 应用程序,并且已经实现了 ,Form其中一个字段是DatePicker. 然而,这个值是完全可选的。因此,用户可能根本没有输入值。不过,我无法弄清楚如何使用户不需要输入该值。代码本身相当简单:
DatePicker(selection: $expirationDate,
displayedComponents: .date) {
Text("Expiration")
}
Run Code Online (Sandbox Code Playgroud)
有没有办法让我可以表明$expirationDate可以有一个Date或可以为零?默认情况DatePicker下似乎将值设置为当前值Date,但我无法找到覆盖该行为的方法。想法?
java ×4
postgresql ×3
seam ×3
swift ×3
hibernate ×2
performance ×2
swiftui ×2
annotations ×1
c ×1
cdi ×1
datepicker ×1
docker ×1
foreach ×1
function ×1
interceptor ×1
ios ×1
java-ee ×1
jpa ×1
jsf ×1
openssl ×1
pkcs#7 ×1
postgis ×1
richfaces ×1
terraform ×1
triggers ×1