# Java AWS handler separator is incorrect

**URL:** https://travis-ci.community/t/java-aws-handler-separator-is-incorrect/4116
**Category:** Travis CI Discussions & Feedback
**Tags:** bug
**Created:** [July 8, 2019, 3:02pm UTC](https://travis-ci.community/t/java-aws-handler-separator-is-incorrect/4116 "2019-07-08T15:02:18Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![couryrr](https://sea1.discourse-cdn.com/flex015/user_avatar/travis-ci.community/couryrr/32/2182_2.png) [@couryrr](https://travis-ci.community/u/couryrr)
#### Post date: [July 8, 2019, 3:02pm UTC](https://travis-ci.community/t/java-aws-handler-separator-is-incorrect/4116/1 "2019-07-08T15:02:19Z")

</div>

I have been doing a POC with Travis to see if it fits my CI/CD needs. So far so good. I am to the point where I want to do a deploy though and am running into a couple of issues.

For Java runtime in AWS Lambda the separator is module::handler or double colon however it appear that Travis is using module.handler or a dot.

Also, when I do the upload I am not sure what file is being sent or the internal structure of Travis’ files. I tried setting the file path but based on AWS telling me the file is too large I am thinking it is not correct.

```
deploy:
- provider: lambda
  access_key_id: $AWS_KEY
  secret_access_key: $AWS_SECRET
  function_name: "grant-jwt"
  region: "us-east-2"
  role: "<arn>"
  runtime: "java8"
  module_name: "com.dapper.cloud.function.GrantJwt"
  handler_name: "handleRequest"
  file: "./grant-jwt/target/grant-jwt-0.0.1-SNAPSHOT.jar"

```

Lastly, is there a concise list of the .travis.yml commands? The examples and docs are helpful in getting started but it is hard to piece things together after a certain point.

I opened this SO question if you anyone wants the internet cred 😉

> <https://stackoverflow.com/questions/56910239/travis-ci-deployment-issue-for-aws-lambda-and-java>

---

<div class="post-metadata">

### Author: ![BanzaiMan](https://sea1.discourse-cdn.com/flex015/user_avatar/travis-ci.community/banzaiman/32/67_2.png) [@BanzaiMan](https://travis-ci.community/u/BanzaiMan)
#### Post date: [July 8, 2019, 8:19pm UTC](https://travis-ci.community/t/java-aws-handler-separator-is-incorrect/4116/2 "2019-07-08T20:19:02Z")

</div>

The handler name is constructed here:

> <https://github.com/travis-ci/dpl/blob/v1.10.11/lib/dpl/provider/lambda.rb#L112-L117>

I suppose it is straightforward to vary the handle name construction based on the runtime value.

---

<div class="post-metadata">

### Author: ![couryrr](https://sea1.discourse-cdn.com/flex015/user_avatar/travis-ci.community/couryrr/32/2182_2.png) [@couryrr](https://travis-ci.community/u/couryrr)
#### Post date: [July 9, 2019, 1:17am UTC](https://travis-ci.community/t/java-aws-handler-separator-is-incorrect/4116/3 "2019-07-09T01:17:10Z")

</div>

Not going to lie my Ruby experience is nill. If help is needed I can give it a shot though.

The break down of other Runtimes handlers are:

> .NET  
> Everything is double colon.

> Java  
> Dot for package and double colon for handler method

> GO  
> It calls main package main method (not sure about this).

> Node, Python, Ruby  
> module dot method

---

<div class="post-metadata">

### Author: ![couryrr](https://sea1.discourse-cdn.com/flex015/user_avatar/travis-ci.community/couryrr/32/2182_2.png) [@couryrr](https://travis-ci.community/u/couryrr)
#### Post date: [July 12, 2019, 3:59pm UTC](https://travis-ci.community/t/java-aws-handler-separator-is-incorrect/4116/4 "2019-07-12T15:59:12Z")

</div>

Does this need an issue on the GitHub repo to work on? I can dedicate sometime to getting this implemented. I also opened another one about defaults which will be in the same area I can work on in this.

> [@Update Lamdba deploy default to match a new Lambda instance](https://travis-ci.community/t/update-lamdba-deploy-default-to-match-a-new-lambda-instance/4170):
>
> In the code of travis there is default\_memory\_size and default\_timeout. These are set to 128 (mb) and 3 (sec) respectively. A newly created lambda on AWS defaults to 512 (mb) and 15 (sec). It would be recommended to match the providers defaults.
