假设我有一个 ZonedDateTime:
ZonedDateTime zonedDateTime =
ZonedDateTime.of(LocalDateTime.now(), ZoneId.of("US/Pacific"));
Run Code Online (Sandbox Code Playgroud)
我想知道它是在柏林的哪个日期/时间。我有两种方法:
zonedDateTime.withZoneSameInstant(ZoneId.of("Europe/Berlin")); // probably this is the right one to get the corresponding date/time in Berlin
zonedDateTime.withZoneSameLocal(ZoneId.of("Europe/Berlin"));
Run Code Online (Sandbox Code Playgroud)
该withZoneSameLocal方法的文档说:“仅当本地日期时间对新区域无效时才会更改......”并且不清楚何时真的会发生(任何示例?=))。
它们各自代表哪个日期/时间,有什么区别?
我对 Node.js 中的护照身份验证做了以下工作。
1) 我正在使用 jwtFromRequest : ExtractJwt.fromAuthHeaderAsBearerToken(),
module.exports = function(passport){
var opts = {};
opts.jwtFromRequest = ExtractJwt.fromAuthHeaderAsBearerToken();
opts.secretOrKey = config.secret;
console.log('Inside passport');
//opts.issuer = 'accounts.examplesoft.com';
//opts.audience = 'yoursite.net';
passport.use(new JwtStrategy(opts, function(jwt_payload, done) {
console.log('Payload :: '+jwt_payload._doc);
User.getUserById({id: jwt_payload._doc._id}, function(err, User) {
if (err) {
return done(err, false);
}
if (User) {
return done(null, User);
} else {
return done(null, false);
// or you could create a new account
}
});
}));
Run Code Online (Sandbox Code Playgroud)
2)调用方法如下:
userExpressRoutes.route('/profile')
.get(passport.authenticate('jwt', { session: false }), …Run Code Online (Sandbox Code Playgroud) 我正在IntelliJ 15.0.3使用Git通过Git Bash(提交和推送更改).当我fetch从远程git存储库提交文件时,它包含不同的行分隔符(混合模式或如何调用它).我的意思是一些行结束,CRLF一些行以LF(相同的文件)结束.
当我在IDEA中进行更改时 - 文件会自动保存,并且所有行分隔符都会减少(更改)为IDEA默认行分隔符(LF对我来说).
并且git将这些更改视为对文件的更改,因此我提交了大量更改的文件:
- some line
+ some line
Run Code Online (Sandbox Code Playgroud)
因为some line [CRLF]改成了some line [LF].
如何配置Git忽略此配置或如何配置IntelliJ IDEA为在此混合模式下保留文件?我不想在没有变化时提交更改.
Quarkus简化了 Hibernate ORM 映射与Panache.
entity这是我的和的示例PanacheRepository:
@Entity
public class Person {
@Id @GeneratedValue private Long id;
private String firstName;
private String lastName;
private LocalDate birth;
private Status status;
}
@ApplicationScoped
public class PersonRepository implements PanacheRepository<Person> {
// example
public Person findByName(String name){
return find("name", name).firstResult();
}
// ! and this is what I tried, but it's not possible to do it this way
// all the methods return Person or something of type Person like …Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的 Spring 应用程序中运行一些本机 SQL 查询。我没有实体或JpaRepository类。我知道这很奇怪,但这是一个微服务,只是为了收集两个计数查询并将其发送给 Kafka。
相信我,我所需要的只是查询中的这两个整数。我运行这些代码总是返回0。我可以在日志中看到Hikari 正在连接到数据库,所以我不知道该怎么做。搜索了很多,但所有答案都涉及@Query解决方案,这对我不起作用。
@Repository
@AllArgsConstructor
public class ReportRepository {
private final EntityManager em;
public int numberOfAccounts() {
String sql = "SELECT count(*) FROM account";
Query query = em.createNativeQuery(sql);
System.out.println(query.getFirstResult());
return query.getFirstResult();
}
public int numberOfSubscriptions() {
String sql = "SELECT count(*) FROM subscriptions";
Query query = em.createNativeQuery(sql);
System.out.println(query.getFirstResult());
return query.getFirstResult();
}
}
Run Code Online (Sandbox Code Playgroud) 我使用的是EJB 3.0,Oracle WebLogic.
在以下问题中需要帮助:
如何测试EJB(3.0)?我的意思是单元测试和/或集成测试?我可以使用某种嵌入式EJB容器或为它创建一个模拟来编写单元测试吗?也许有一些特殊的测试框架或aproaches?EJB对我来说并不新鲜,但我从未为它们编写测试.任何信息对我都有用.
谢谢.
我的应用程序正在部署到 IBM WebSphere 上。我有一个简单的服务,我想知道在这种情况下依赖注入是如何工作的。
// stateless EJB
@Stateless
public class UserService {
private UserDAO userDAO;
// btw, UserDAO is stateless EJB as well
@Inject
public UserService(UserDAO userDAO) {
this.userDAO = userDAO;
}
// biz methods ...
}
Run Code Online (Sandbox Code Playgroud)
它失败并出现以下错误:
[错误] CWWKZ0002E:启动应用程序 my-app 时发生异常。异常消息为: com.ibm.ws.container.service.state.StateChangeException: com.ibm.ws.cdi.CDIException: com.ibm.wsspi.injectionengine.InjectionException: com.ibm.ejs.container.EJBConfigurationException: EJB com.demo.app.UserService 类必须有一个不带参数的公共构造函数
我记得 EJB 规范中有这样一句话:bean 实例首先由容器实例化,然后完成依赖注入,the class must have a public constructor that takes no parameters这对我来说是有意义的。
另一方面,我在 WELD 文档中发现了这一点:
首先,容器调用 bean 构造函数(默认构造函数或带 @Inject 注释的构造函数)来获取 bean 的实例。
我有点困惑,为什么我的EJB无法实例化。
当我们有构造函数注入点时,如何创建 EJB 实例并注入依赖项? …
我有一个 HotelRepository,它有一个命名方法,它返回一个默认Page<Hotel>项作为结果而不是一个列表。
我想将内容类型更改Hotel为HotelDto在页面中,因为 DTO 具有我想要显示的自定义参数。我已经有一个构造函数可以将 Hotel 转换为 HotelDto。
我的尝试:
Page<Hotel> hotels = dao.findAll(pageRequest);
return new PageImpl<>(
hotels.getContent().stream()
.map(hotel -> new HotelListItemDto(hotel, hotel.getSupplier())).collect(Collectors.toList()),
pageRequest, hotels.getContent().size());
Run Code Online (Sandbox Code Playgroud)
问题是它只操作结果的一页。当然,我可以先把所有的结果作为一个列表,然后根据列表创建一个页面,但是这样就失去了Page(我认为返回页面会提高搜索请求的性能)的优势。
那么我应该怎么做才能保持页面优势,但仍然可以自定义输出?
问题在于:
我在内部使用空元素获取soap响应(例如... <someDate /> ...),因此当JAXB想要解析此元素而不是使用null值设置适当的字段时抛出异常.
如何配置JAXB将空元素视为null?我们能否仅使用JAXB执行此操作(不使用某些第三方解决方法)
我正在尝试使用react-query并向axios后端发送发布请求来注册用户,但是当我尝试通过单击按钮来触发参数突变时,我收到错误。
import React from 'react'
import { useMutation } from '@tanstack/react-query'
import axios from 'axios'
import { Button } from 'react-bootstrap'
const RegisterScreen = () => {
const { data, error, isLoading, mutate } = useMutation((user) =>
axios.post('/api/users', user)
)
const user = { name: 'john', email: 'john@example.com', password: '1234' }
return (
<div>
<Button onClick={() => mutate(user)}>Register</Button>
</div>
)
}
export default RegisterScreen
Run Code Online (Sandbox Code Playgroud)
错误信息:
ERROR in src/screens/RegisterScreen.tsx:15:37
[1] TS2345: Argument of type '{ name: string; …Run Code Online (Sandbox Code Playgroud) java ×6
ejb ×2
exception ×1
git ×1
hibernate ×1
jakarta-ee ×1
java-ee ×1
java-time ×1
javascript ×1
jaxb ×1
node.js ×1
pagination ×1
passport-jwt ×1
postman ×1
quarkus ×1
react-query ×1
reactjs ×1
spring ×1
sql ×1
typescript ×1
unit-testing ×1
weld ×1
xml ×1