I have a mix app (elixir-1.9.4) that works when called as:
iex -S mix
It performs queries to an oracle db. Results are fine.
When I assemble a release and start it with:
MIX_ENV=prod mix release
_build/prod/rel/stomp/bin/stomp start
I hit a conversion issue:
:error, %DBConnection.ConnectionError{message: "[{:xmerl_ucs, :from_utf16be, [...]
I believe it is connected to non-ascii chars in some records (if a record is ascii-only all is good).
My env actually includes a LANG entry (LANG=en_GB.UTF-8), but neither
LANG=en_GB.UTF-8 _build/dev/rel/stomp/bin/stomp start
I am aware it’s all pritty vague and I didn’t write any configuration file. But maybe it’s just me who forgot something really basic when I assembled the release that you can spot easily,
thank you,
francescm
My gut reaction is that a library isn’t getting included. What’s your complete mix.exs
file?
here you are:
defmodule Stomp.MixProject do
use Mix.Project
def project do
[
app: :stomp,
version: "0.1.0",
elixir: "~> 1.9",
start_permanent: Mix.env() == :prod,
deps: deps()
]
end
# Run "mix help compile.app" to learn about applications.
def application do
[
extra_applications: [:logger],
mod: {Stomp, []}
]
end
# Run "mix help deps" to learn about dependencies.
defp deps do
[
{:stomp_client, "~> 0.1.1"},
# {:stomp_client, git: "https://github.com/francescm/stomp_client.git"},
{:httpoison, "~> 1.5"},
{:goth, "~> 1.1.0"},
{:poison, "~> 3.0"},
{:json, "~> 1.2"},
{:jamdb_oracle, "~> 0.3.5"},
# {:jamdb_oracle,
# git: "https://github.com/erlangbureau/jamdb_oracle",
# ref: "0afe407908dd2f3425fbdf330759a5881d98086b"},
{:poolboy, "~> 1.5"}
]
end
end
thank you so much for reading,
francescm
Hmm, what if you changed this to be:
extra_applications: [:logger, :xmerl],
1 Like
Brilliant: it was it. Now it works!
thank you so much,
francescm