我有一个使用@Secured注释的存储库方法.我正在尝试为此方法编写单元测试,但我的测试失败,因为我需要身份验证来调用该方法.方法本身恰好是save()方法.我调用方法时得到的错误是:
org.springframework.security.authentication.AuthenticationCredentialsNotFoundException: An Authentication object was not found in the SecurityContext
Run Code Online (Sandbox Code Playgroud)
我无法测试此方法,因为它需要身份验证,我无法保存用户进行身份验证(我正在使用hsqldb),因为我需要调用此方法进行保存.有关如何对使用@secured注释的方法进行单元测试或如何模拟身份验证的任何建议.
我正在使用websockets开发Scala + Play应用程序.我有一个简单的Web套接字定义如下:
def indexWS = WebSocket.using[String] { request =>
val out = Enumerator("Hello!")
val in = Iteratee.foreach[String](println).map { _ =>
println("Disconnected")
}
(in,out)
}
Run Code Online (Sandbox Code Playgroud)
我已经使用Chrome的控制台验证了这一点.我遇到的问题是尝试为此编写单元测试.目前我有这个:
"send awk for websocket connection" in {
running(FakeApplication()){
val js = route(FakeRequest(GET,"/WS")).get
status(js) must equalTo (OK)
contentType(js) must beSome.which(_ == "text/javascript")
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当在Play控制台中运行我的测试时,我收到此错误,其中第35行对应于此行'val js = route(FakeRequest(GET,"/ WS")).get':
NoSuchElementException: None.get (ApplicationSpec.scala:35)
Run Code Online (Sandbox Code Playgroud)
我无法找到单元测试scala/play websockets的好例子,并且对如何正确编写此测试感到困惑.
我正在尝试将名为transmission_result的postgres自定义类型映射到Hibernate/JPA POJO.postgres自定义类型或多或少是枚举类型的字符串值.
我创建了一个名为PGEnumUserType的自定义EnumUserType以及一个表示postgres枚举值的枚举类.当我对一个真正的数据库运行时,我收到以下错误:'错误:列"状态"的类型为transmission_result,但表达式的类型为字符变化提示:您需要重写或转换表达式.位置:135'
看到这个,我想我需要将我的SqlTypes更改为Types.OTHER.但这样做会破坏我的集成测试(在内存数据库中使用HyperSQL)和消息:'引起:java.sql.SQLException:在语句中找不到表[select enrollment0 _."id"as id1_47_0_,enrollment0 _."tpa_approval_id"as tpa2_47_0_ ,enrollment0 _."tpa_status_code"as tpa3_47_0_,enrollment0 _."status_message"as status4_47_0_,enrollment0 _."approval_id"as approval5_47_0_,enrollment0 _."transmission_date"as transmis6_47_0_,enrollment0 _."status"as status7_47_0_,enrollment0 _."transmit"as transmit8_47_0_ from"传输"enrollment0_ where enrollment0 _."id"=?]'
我不确定为什么更改sqlType会导致此错误.任何帮助表示赞赏.
JPA/Hibernate实体:
@Entity
@Access(javax.persistence.AccessType.PROPERTY)
@Table(name="transmissions")
public class EnrollmentCycleTransmission {
// elements of enum status column
private static final String ACCEPTED_TRANSMISSION = "accepted";
private static final String REJECTED_TRANSMISSION = "rejected";
private static final String DUPLICATE_TRANSMISSION = "duplicate";
private static final String EXCEPTION_TRANSMISSION = "exception";
private static final String RETRY_TRANSMISSION = "retry";
private Long transmissionID;
private …Run Code Online (Sandbox Code Playgroud) 我想摆脱远程分支上的一些提交.例如,如果历史记录如下:
A->B->C->D
Run Code Online (Sandbox Code Playgroud)
我想删除C和D给我:
A->B
Run Code Online (Sandbox Code Playgroud)
哪个B现在是HEAD?
我遇到了一个问题,YARN因超出内存限制而杀死我的容器:
Container killed by YARN for exceeding memory limits. physical memory used. Consider boosting spark.yarn.executor.memoryOverhead.
Run Code Online (Sandbox Code Playgroud)
我有20个m3.2xlarge节点,因此他们有:
cores: 8
memory: 30
storage: 200 gb ebs
Run Code Online (Sandbox Code Playgroud)
我的应用程序的要点是,我有几个10万资产,我有去年每小时生成的历史数据,总数据集大小为2TB未压缩.我需要使用此历史数据为每个资产生成预测.我的设置是我首先使用s3distcp将存储为索引的lzo文件的数据移动到hdfs.然后我将数据拉入并传递给sparkSql来处理json:
val files = sc.newAPIHadoopFile("hdfs:///local/*",
classOf[com.hadoop.mapreduce.LzoTextInputFormat],classOf[org.apache.hadoop.io.LongWritable],
classOf[org.apache.hadoop.io.Text],conf)
val lzoRDD = files.map(_._2.toString)
val data = sqlContext.read.json(lzoRDD)
Run Code Online (Sandbox Code Playgroud)
然后我使用groupBy按资产对历史数据进行分组,创建一个元组(assetId,timestamp,sparkSqlRow).我认为这种数据结构可以在生成每个资产的预测时更好地进行内存操作.
val p = data.map(asset => (asset.getAs[String]("assetId"),asset.getAs[Long]("timestamp"),asset)).groupBy(_._1)
Run Code Online (Sandbox Code Playgroud)
然后我使用foreach迭代每一行,计算预测,最后将预测作为json文件写回到s3.
p.foreach{ asset =>
(1 to dateTimeRange.toStandardHours.getHours).foreach { hour =>
// determine the hour from the previous year
val hourFromPreviousYear = (currentHour + hour.hour) - timeRange
// convert to seconds
val timeToCompare = hourFromPreviousYear.getMillis …Run Code Online (Sandbox Code Playgroud) 身份图和工作单元模式是sqlalchemy比django.db更具吸引力的部分原因.但是,我不确定身份映射如何工作,或者当应用程序配置为wsgi并且直接通过api调用而不是共享服务访问orm时它是否有效.我想,apache会为每个请求创建一个带有自己的python实例的新线程.因此,每个实例都有自己的sqlalchemy类实例,并且无法使用标识映射.它是否正确?
我是 Tomcat 的新手,所以如果这是一个愚蠢的问题,我深表歉意。我创建了一个 spring mvc web 应用程序,当前使用 maven-jetty-plugin 在本地运行。
我可以成功创建 WAR 文件。我想将 WAR 文件部署到 tomcat6 实例中。但是,我不确定是否需要为tomcat创建context.xml文件?如果我这样做,我会将文件放在我的 spring web 应用程序中的哪里?我当前的目录结构如下所示:
src
|
|-main
| |-java
|-resource
| |-META-INF
|-webapp
| |-WEB-INF
|-web.xml
Run Code Online (Sandbox Code Playgroud) 我试图了解该程序的反汇编版本:
#include <stdio.h>
int main(){
int i=0;
printf("HELLO VIK");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
gdb反汇编:
(gdb) disass main
Dump of assembler code for function main:
0x0000000100000ef0 <main+0>: push rbp
0x0000000100000ef1 <main+1>: mov rbp,rsp
0x0000000100000ef4 <main+4>: sub rsp,0x10
0x0000000100000ef8 <main+8>: mov DWORD PTR [rbp-0xc],0x0
0x0000000100000eff <main+15>: xor al,al
0x0000000100000f01 <main+17>: lea rcx,[rip+0x50] # 0x100000f58
0x0000000100000f08 <main+24>: mov rdi,rcx
0x0000000100000f0b <main+27>: call 0x100000f2c <dyld_stub_printf>
0x0000000100000f10 <main+32>: mov DWORD PTR [rbp-0x8],0x0
0x0000000100000f17 <main+39>: mov eax,DWORD PTR [rbp-0x8]
0x0000000100000f1a <main+42>: mov DWORD PTR [rbp-0x4],eax
0x0000000100000f1d <main+45>: …Run Code Online (Sandbox Code Playgroud) 我正试图从我的iphone项目向网络服务器发送一些参数和图像.我相信图像发送正常,但我无法访问其他参数.我不知道为什么?我相信我已经做好了一切
-(void) submitNewWigiItem: (UIImage*) item forUserWithId: (NSString*) wigi_id WithFbId: (NSString *) fb_id withWigiAccessToken: (NSString *) access_token withComment: (NSString*) comment withTag: (NSString*) tag;
{
//setup url
NSURL *wigiURL = [[NSURL alloc] initWithString:[NSString stringWithFormat:@"%@%@/items",wigiBaseURL,wigi_id]];
NSData *imageData = UIImageJPEGRepresentation(item, 90);
//setup request for add item
NSMutableURLRequest *wigiRequest = [[[NSMutableURLRequest alloc] initWithURL:wigiURL cachePolicy:NSURLRequestReloadIgnoringCacheData
timeoutInterval:10] autorelease];
[wigiRequest setHTTPMethod:@"POST"];
NSString *boundary = [[NSString alloc] initWithString: [[NSProcessInfo processInfo] globallyUniqueString]];
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
[wigiRequest addValue:contentType forHTTPHeaderField: @"Content-Type"];
//add body
NSMutableData *postBody = [NSMutableData data];
//image …Run Code Online (Sandbox Code Playgroud) 我正在使用以明文形式存储密码的遗留应用程序.我已将应用程序移植到spring 3 mvc + security.我还成功地使用sha256 +基于用户名的盐来获得Spring安全性处理认证和授权.这一切都很好,但作为部署的一部分,我将需要迁移现有数据库以使用新密码模式.我不确定Spring安全性如何使用salt进行密码散列,因此我无法编写可用于将旧明文密码迁移到新sha256 + salt模式的sql脚本.是否有任何文档或资源可用于解决这个问题?
spring ×3
java ×2
scala ×2
amazon-emr ×1
apache-spark ×1
assembly ×1
emr ×1
enums ×1
gdb ×1
git ×1
git-commit ×1
github ×1
hibernate ×1
identity-map ×1
iphone ×1
jpa ×1
post ×1
postgresql ×1
python ×1
salt ×1
saltedhash ×1
sqlalchemy ×1
tomcat6 ×1
uiimage ×1
unit-testing ×1
x86-64 ×1